PostgreSQL row_number() over()分組排序
語法:row_number() over( [partition by col1] order by col2[desc])
解釋:row_number():為返回的記錄定義各行編號;
partition by col1:根據(jù)col1進(jìn)行分組;
order by col2:根據(jù)col2進(jìn)行排序。
舉例:
原始數(shù)據(jù):
原始數(shù)據(jù)
根據(jù)學(xué)科分組味赃,按照分?jǐn)?shù)進(jìn)行排序
select *, row_number() over(partition by course order by score desc) from student;
根據(jù)學(xué)科分組蒲赂,按照分?jǐn)?shù)進(jìn)行排序
根據(jù)分?jǐn)?shù)排序
select*,row_number() over(order by score desc) from student;
根據(jù)分?jǐn)?shù)排序
獲取每個科目最低分
select * from (select*,row_number() over(partition by course order by score )rank from student) t where rank=1;
獲取每個科目最低分
好啦乾胶,就到這里了善已,謝謝鹏氧。