oracle分组排序后取第一条
PARTITION BY」语句用于定义分组的列(在本例中为「AGE」),「ORDER BY」语句用于定义排序的列(在本例中为「ID」),「ROW_NUMBER」函数用于生成每一行的行号。在 Oracle 中,可以使用「ROW_NUMBER」函数对某个列进行分组并排序,然后通过「WHERE」语句取第一条记录。最后,「WHERE RN = 1」语句用于取出第一条记录。
·
在 Oracle 中,可以使用「ROW_NUMBER」函数对某个列进行分组并排序,然后通过「WHERE」语句取第一条记录。
假设有一张「USERS」表,其中包含「ID」、「NAME」、「AGE」和「COUNTRY」列,您可以使用以下 SQL 语句对「AGE」列进行分组排序,并取第一条记录:
SELECT *
FROM (
SELECT ID, NAME, AGE, COUNTRY, ROW_NUMBER() OVER (PARTITION BY AGE ORDER BY ID) RN
FROM CUSTOMERS
)
WHERE RN = 1;
「PARTITION BY」语句用于定义分组的列(在本例中为「AGE」),「ORDER BY」语句用于定义排序的列(在本例中为「ID」),「ROW_NUMBER」函数用于生成每一行的行号。
最后,「WHERE RN = 1」语句用于取出第一条记录
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)