我有一个表,它用一个字段记录一个操作序列,该字段记录序列顺序:
user data sequence
1 foo 0
1 bar 1
1 baz 2
2 foo 0
3 bar 0
3 foo 1
在WHERE Sequence=‘0’中,为每个用户选择第一项是非常容易的,但是是否有一种方法可以在SQL中为每个用户选择最后一项呢?
我所追求的结果应该是这样的:
user data sequence
1 baz 2
2 foo 0
3 foo 1
如果有任何特定于实现的骗子回答,我将使用MySQL。
发布于 2018-06-19 08:37:24
此SQL将返回每个用户具有最高序列值的记录:
select a.user, a.data, a.sequence
from table as a
inner join (
select user, max(sequence) as 'last'
from table
group by user) as b
on a.user = b.user and
a.sequence = b.last
发布于 2018-06-19 10:04:50
select top 1
user
,data
,sequence
from table
order
by sequence
https://stackoverflow.com/questions/-100000295
复制相似问题