Oracle 分组排序后获取第一条和最后一条值

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 test t1
    where t1.pid= '0'
  )
  where rowss1='1' or rowss2='1'
) GROUP BY id

 

 不分组的话去掉    

PARTITION BY t1.id 

 

posted @ 2023-01-10 10:20  黑天使的红蓝眼眸  阅读(1046)  评论(0)    收藏  举报