我有一个表记录一系列动作,其中一个字段记录了序列顺序:
user data sequence
1 foo 0
1 bar 1
1 baz 2
2 foo 0
3 bar 0
3 foo 1
Run Code Online (Sandbox Code Playgroud)
使用WHERE sequence ='0'为每个用户选择第一项很容易,但有没有办法为SQL中的每个用户选择最后一项?
我之后的结果应该是这样的:
user data sequence
1 baz 2
2 foo 0
3 foo 1
Run Code Online (Sandbox Code Playgroud)
如果有任何特定于实现的骗子回答,我正在使用MySQL.
此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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2641 次 |
| 最近记录: |