【发布时间】:2019-07-23 02:24:42
【问题描述】:
我有这样的表格和数据:
id hour name
1 0 a1
1 1 a2
1 2 a3
1 3 a4
2 1 a5
2 1 a6
2 2 a7
2 3 a8
3 1 a9
3 0 a10
4 1 a11
4 1 a12
5 1 a13
……
我想找到一些 id,例如 (1,2,4 ....) 以及 id 的 max(hour) 和唯一 id
结果如下:
id hour name
1 3 a4
2 3 a8
3 1 a9
4 1 a12
....
我尝试分组和排序,但失败了。 怎么写? 谢谢。
第一次,当我写问题时会丢失一些信息,所以也许某些答案不是我想要的。所以我更新了这个问题。 对不起,我第一次使用stackowverflow,对不起我的错误。
这是我的错误 sql: select * from tb where id in(1,2,3,4) group by id order by hour desc.
我知道如何编写正确的方法:
这是错误的:
select id, max(hour) from tb group by tb;
这是对的:
选择 a.id、a.maxhour、b.name 从 ( SELECT id, max(hour) AS maxhour, name 从结核病 其中 id 在 (1,2,3,4) GROUP BY id) 在 a.id = b.id 和 a.maxhour = b.hour 上加入 tb b
谢谢我所有的朋友。 你的回答让我知道该怎么做
【问题讨论】:
-
谢谢我所有的朋友。
标签: mysql group-by greatest-n-per-group