簡體   English   中英

MYSQL-如何獲得每個記錄的最高價值?

[英]MYSQL - How to get the highest value of each record?

例如我有這些表...

ID | SCORE | DATE
 1 | 10    | 2-2-2012
 2 | 20    | 2-2-2012
 3 | 20    | 2-2-2012
 2 | 5     | 4-2-2012
 4 | 30    | 4-5-2012
 1 | 20    | 5-5-2012

我想獲取每個ID的最新日期分數。

我的期望輸出是...

ID | SCORE | DATE
 1 | 20    | 5-5-2012
 2 | 5     | 4-2-2012
 3 | 20    | 2-2-2012
 4 | 30    | 4-5-2012

可能嗎?

提前致謝!

    SELECT t1.*
      FROM tbl t1
INNER JOIN (SELECT MAX(date) max_date,
                   id
              FROM tbl
          GROUP BY id) t2 ON t1.id = t2.id
                         AND t1.date = t2.max_date

嘗試

SELECT id, score, date
FROM   table1 t1
WHERE  date=(SELECT MAX(t2.date)
              FROM table1 t2
              WHERE t1.id = t2.id);

如果您不關心在具有相同ID的兩行具有相同日期的情況下獲得最高分的情況:

select *,max(DATE) as max_date FROM table group by ID order by max_date desc;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM