SELECT *
FROM (SELECT ROW_NUMBER() OVER(PARTITION BY cc.queuename ORDER BY cc.enroldate DESC) rn,
cc.*
FROM
(select * from
(select a.patname,a.queuesign,a.queuename,a.status,a.checkroom,a.areapart,a.enroldate
from qs_register a where a.status='就诊中'
group by a.patname,a.queuesign,a.queuename,a.status,a.checkroom,a.areapart,a.enroldate
order by a.queuename,a.status,a.enroldate) bb)cc
)
WHERE rn = 1 ;
参考:
[sql] SELECT * FROM (SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER BY y DESC) rn, test1.* FROM test1) WHERE rn = 1 ;
注:同理而言,需要查第几条数据或需要查询指定条数的数据——where rn=N or where rn in(num1,num2,numx,......)

本文介绍了一种使用SQL进行数据查询的方法,特别是如何通过ROW_NUMBER()函数结合PARTITION BY和ORDER BY来实现对特定条件数据的高效检索。这种方法适用于需要从大量数据中筛选最新记录或特定顺序记录的场景。
1万+

被折叠的 条评论
为什么被折叠?



