首先创建表TEST1如图

sql 面试题行变列查询

要求我们查询出格式如下的结果图2

 

id 语文 数学
1111 88 99
2222 68 77

我们直接上sql语句

SELECT "id",
sum(decode("subject", '语文', "score", 0))语文,
sum(decode("subject", '数学', "score", 0))数学
from "TEST1" 
GROUP BY "id"  

查询结果如图

sql 面试题行变列查询

想要查询成图2 我们可以加上order by "id"即可(默认升序asc)如若使用降序使用desc

 

相关文章: