天天看點

行轉列,列轉行-轉

行轉列 -- 用max 找出結果,case

SELECT user_name ,

MAX(CASE course WHEN '數學' THEN score ELSE 0 END ) 數學,

MAX(CASE course WHEN '國文' THEN score ELSE 0 END ) 國文,

MAX(CASE course WHEN '英語' THEN score ELSE 0 END ) 英語

FROM test_tb_grade

GROUP BY USER_NAME;

列轉行--一列一列查出,然後将結果 union 成多列

select user_name, '國文' COURSE , CN_SCORE as SCORE from test_tb_grade2

union select user_name, '數學' COURSE, MATH_SCORE as SCORE from test_tb_grade2

union select user_name, '英語' COURSE, EN_SCORE as SCORE from test_tb_grade2

order by user_name,COURSE;

具體例子:http://www.jb51.net/article/109203.htm

繼續閱讀