0

日付と値を含むテーブルがあります。私がやろうとしているのは、値の MAX() 値とその値に対応する日付を取得することです。すなわち

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

私が望む出力は 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
4

2 に答える 2

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
于 2012-06-26T22:41:18.513 に答える
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')

(その列は質問に記載されていないため、DIDのことは省略しました。)

于 2012-06-26T22:43:11.527 に答える