作者jami520 (ALEN)
看板Database
标题[SQL ] 如何Group by抓所有人最後一笔资料?
时间Fri Oct 11 05:56:54 2019
资料库名称: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://webptt.com/cn.aspx?n=bbs/Database/M.1570744616.A.012.html
※ 编辑: jami520 (115.43.67.15 台湾), 10/11/2019 06:14:03
1F:推 ken218: 用 rank 会比较好,不过我不确定 mysql 有没有这个 functi 10/11 14:10
2F:→ ken218: on 10/11 14:10
3F:推 springman: 可以用 max(date) 吗? 10/12 11:03
4F:→ xdraculax: group取最高分 join 分数符合最高分取最大日期 10/19 09:03