
需求:行列互换
请用一条SQL语句查询出这三条记录并按以下条件显示出来
大于等于80表示优秀,大于等于60表示及格, 小于60分表示不及格
显示方式如下

直接放代码:
# 创建视图好处理点哈哈哈
create view g as
(SELECT
MAX( CASE WHEN t.`subject` = "语文" THEN 评分 ELSE 0 END ) 语文,
MAX( CASE WHEN t.`subject` = "数学" THEN 评分 ELSE 0 END ) 数学,
MAX( CASE WHEN t.`subject` = "英语" THEN 评分 ELSE 0 END ) 英语
FROM
(
SELECT
test.`subject`,
( CASE WHEN test.score >= 80 THEN "优秀"
WHEN test.score >= 60 THEN "及格" ELSE "不及格" END ) 评分
FROM
test
GROUP BY
test.`subject`
) t)

新需求:如何换回来??
SELECT '语文' as 'subject' , 语文 as score from g
UNION
SELECT '数学' as 'subject' , 数学 as score from g
UNION
SELECT '英语' as 'subject' , 英语 as score from g

网友评论