示例数据: (tablename为col_index) 实现行列转换的统计结果:
SQL语句:
SELECT c2,
SUM(CASE when c3 正式 then 1 else 0 END) as "正式",
SUM(CASE when c3 临时 then 1 else 0 END) as "临时"
FROM col_index
GROUP BY c2
虽然SQL的case功能确…
select Name, sum(case when Subject语文 then Result end) as 语文, sum(case when Subject数学 then Result end) as 数学, sum(case when Subject物理 then Result end) as 物理, sum(case when Subject英语 then Result end) as 英语 from student group by Name
从MS Sql Server 2005微软就推出了pivot和unpivot实现行列转换,这极大的方便了我们存储数据和呈现数据。今天就对这两个关键字进行分析,结合实例讲解如何存储数据,如何呈现数据。
例如学生选课和成绩系统中就有一张表,该表存储了…
一、使用sum(case when)
废话不多说,直接上图 select projectDeclare_id, sum(case when seq0 then score1 else NULL end) as diyihang, sum(case when seq1 then score1 else NULL end) as diyihang, sum(case when seq2 then score1 e…
方法1
select name,
sum(case when course物理 then score else 0 end) as 物理,
sum(case when course英语 then score else 0 end) as 英语
from T1方法2 动态SQL命令的执行效率往往不高,因为动态拼接的原因,导致数据库(查询优化器&…