虽然这个问题看起来很简单,但它有点棘手。
我有一个包含以下列的表格:
table A:
int ID
float value
datetime date
varchar(50) group
我想获取包含按“组”列分组的最大“日期”的记录的“ID”和“值”。类似 “每个组的最新值是多少?”
我可以获得每个组及其最大日期:
SELECT group, MAX(date) FROM A GROUP BY group; -- I also need the "ID" and "value"
但我想拥有最高日期的记录的“ID”和值。
在 A 和结果之间进行 JOIN 可能是答案,但无法知道 MAX(date) 指的是哪条记录(以防“日期”重复)。
有人可以帮忙吗?
最佳答案
您可以尝试使用子查询
select group, id, value, date from A where date in
( 选择 MAX(date) 作为日期
从 A
一组一组)
按组排序
关于sql - 如何在包含最大值的表中查找记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/376518/