Hyu*_*Yui 2 sql oracle grouping
有一组如下.
refno | col1 | col2
---------------------
1 | a | aa
1 | b | bb
1 | c | cc
1 | d | dd
Run Code Online (Sandbox Code Playgroud)
我想使用Oracle SQL这样做:
refno a b c d
1 aa bb cc dd
Run Code Online (Sandbox Code Playgroud)
怎么做?
你可以用它来做 PIVOT
WITH sel AS
(SELECT 1 refno , 'a' col1 , 'aa' col2 FROM dual
UNION ALL
SELECT 1 , 'b' , 'bb' FROM dual
UNION ALL
SELECT 1 , 'c' , 'cc' FROM dual
UNION ALL
SELECT 1 , 'd' , 'dd' FROM dual
)
SELECT *
FROM sel
PIVOT
(max(col2)
FOR col1 IN ('a','b','c','d'))
Run Code Online (Sandbox Code Playgroud)
但您必须col1手动指定值 -FOR col1 IN ('a','b','c','d')