在SQL中选择最大订单号
我有一个记录操作序列的表,其中有一个字段记录序列顺序:在SQL中选择最大订单号,sql,mysql,Sql,Mysql,我有一个记录操作序列的表,其中有一个字段记录序列顺序: 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
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。此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
嗯,我希望内部连接选择用户,maxsequence作为“last”从表中按用户分组,作为a.user=b.user上的b。我想对这个问题有不同的解释。暂时性从技术上讲是正确的最好的一种正确。啊,你说得对,谢谢。他按用户分组,只显示了最后的数据。在将元变量转换为我的数据时,我得到了正确的结果。这可能是最简单但优雅的解决方案,只返回一项。问题是每个用户的最大序列。Keith的答案很准确,你需要一个相关的查询来做这件事吗?
select top 1
user
,data
,sequence
from table
order
by sequence