[SQL ] 如何Group by抓所有人最後一筆資料?

看板Database (資料庫)作者 (ALEN)時間5年前 (2019/10/11 05:56), 5年前編輯推噓2(202)
留言4則, 3人參與, 5年前最新討論串1/1
資料庫名稱:Mysql 資料庫版本:5.0 內容/問題描述:目前假設有三位學生 A B C (欄位stud) 每天都有路跑分數,如果是這位同學一個月最高分數 則會個別寫入到創高紀錄的資料庫中 (資料庫grade) 那我假設要取出從9月到目前,他們各別最高分數的數值與日期要如何做呢? 直接用下面方式好像都是取靠近09/01的最高分數資料,而非最後面最高分 SELECT stud, num, date FROM grade where date>'2019-09-01' Group by stud 不知道有沒有其他寫法呢? 謝謝 另外再請教一下,如果沒有每天做創高記錄的資料統計 若是用單純每天只是記錄學生的分數 那這樣要直接取出他們各別這一個月內的最高分數與日期 這個能直接寫得出來嗎? 因為這樣就不用再多做一個每天統計是否創高紀錄的寫入 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 115.43.67.15 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1570744616.A.012.html ※ 編輯: jami520 (115.43.67.15 臺灣), 10/11/2019 06:14:03

10/11 14:10, 5年前 , 1F
用 rank 會比較好,不過我不確定 mysql 有沒有這個 functi
10/11 14:10, 1F

10/11 14:10, 5年前 , 2F
on
10/11 14:10, 2F

10/12 11:03, 5年前 , 3F
可以用 max(date) 嗎?
10/12 11:03, 3F

10/19 09:03, 5年前 , 4F
group取最高分 join 分數符合最高分取最大日期
10/19 09:03, 4F
文章代碼(AID): #1Tdwae0I (Database)
文章代碼(AID): #1Tdwae0I (Database)