Oracle數據庫,分組排序后取第一條數據
數據格式
分組取第一條的效果
SELECT * FROM (SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER BY y DESC) rn, test1.* FROM test1) WHERE rn = 1 ;
Oracle數據庫,分組排序后取第一條數據和最后一條,並且拼接名稱
select id,wm_concat(name) as qsgt from ( select id,name from (-- 分組排序取出第一條和最后一條 select t1.id, t1.name, row_number() over(PARTITION BY t1.id order by t1.name) rowss1,--第一條 row_number() over(PARTITION BY t1.id order by t1.name desc) rowss2--倒數第一條 from t_test t1 where t1.pid= '0' ) where rowss1='1' or rowss2='1' ) GROUP BY id
不分組的話去掉
PARTITION BY t1.id
就行