0
点赞
收藏
分享

微信扫一扫

oracle 10g+ 行列转换

半秋L 2023-02-19 阅读 146


WITH t AS(
SELECT 1 AS sno, 1 AS cno, 5 AS grade
FROM dual
UNION ALL
SELECT 1, 2, 6
FROM dual
UNION ALL
SELECT 1, 3, 10
FROM dual
UNION ALL
SELECT 2, 3, 10
FROM dual
UNION ALL
SELECT 2, 2, 10
FROM dual
UNION ALL
SELECT 3, 1, 9
FROM dual
UNION ALL
SELECT 3, 2, 9
FROM dual)
SELECT a.sno, Max(a.aa)
FROM (SELECT sno,
wm_concat(cno || ',' || grade) over(partition BY sno order by cno, grade) AS aa
FROM t) a
GROUP BY a.sno;

 

运行一下就知道是啥意思了

 


举报

相关推荐

0 条评论