2012-06-26 2 views
0

날짜와 값이있는 테이블이 있습니다. 내가하려고하는 것은 값의 MAX() 값과 그 값에 해당하는 날짜를 얻는 것입니다. mysql, 최대 일치 값 선택

+------------+-------+ 
| pdate  | score | 
+------------+-------+ 
| 2012-05-01 | 80 | 
| 2012-05-02 | 50 | 
| 2012-05-03 | 52 | 
| 2012-04-02 | 100 | 
| 2012-05-02 | 10 | 
+------------+-------+ 

I가 원하는 출력

즉 2012-04-02 - 100

이 내 쿼리입니다 :

SELECT pdate,MAX(Score) as maxscore FROM tblpulse 
WHERE DID = '171488' && pdate BETWEEN '2012-05-02' 
    AND '2012-06-26' and pdate ORDER BY pdate ASC 
+0

비슷한 막대에 비슷한 질문이 많이 있습니다 : http://stackoverflow.com/questions/2584481/select-get- 전체 행 일치 최대 mysql 그룹? rq = 1 – zerkms

+0

쿼리의 DID 열은 무엇입니까? – Marvo

답변

2

가 MAX가 일종의 하위 쿼리를 만들고 ...

SELECT * FROM (
SELECT pdate,MAX(Score) as maxscore FROM tblpulse 
WHERE DID = '171488' && pdate BETWEEN '2012-05-02' 
AND '2012-06-26' and pdate ORDER BY pdate ASC) 
ORDER BY maxscore DESC LIMIT 1 
0
select pdate, score 
    from tblpulse 
where ... and pdate between '2012-05-02' and '2012-06-26' 
    and score = (select max(score) from tblpulse where pdate between '2012-05-02' and '2012-06-26') 

(I 왼쪽 그 칼럼이 질문에 설명되어 있지 않기 때문에 DID 일을 밖으로.)