table[id] [num1] [num2] [num3] [num4]
1 0 2 2 1
2 1 0 1 1
3 1 1 0 2
4 1 0 2 1
5 0 1 2 2
6 1 0 2 1我要实现 查出
num1字段 值为1的数据总数,值为2的数据总数,值为0的数据总数,
num2字段 值为1的数据总数,值为2的数据总数,值为0的数据总数,
一次类推
num4字段 值为1的数据总数,值为2的数据总数,值为0的数据总数。怎么写sql最为方便有效啊?
1 0 2 2 1
2 1 0 1 1
3 1 1 0 2
4 1 0 2 1
5 0 1 2 2
6 1 0 2 1我要实现 查出
num1字段 值为1的数据总数,值为2的数据总数,值为0的数据总数,
num2字段 值为1的数据总数,值为2的数据总数,值为0的数据总数,
一次类推
num4字段 值为1的数据总数,值为2的数据总数,值为0的数据总数。怎么写sql最为方便有效啊?
FROM `site_contact_stat`
GROUP BY `num1`这样就能查出 字段num1的 信息,那么其他的也能写在一起吗?怎么写呢?
sum(case [num1] when 1 then 1 else 0 end) as [num1字段 值为1的数据总数],
sum(case [num1] when 2 then 1 else 0 end) as [num1字段 值为2的数据总数],
sum(case [num1] when 0 then 1 else 0 end) as [num1字段 值为0的数据总数],
sum(case [num2] when 1 then 1 else 0 end) as [num2字段 值为1的数据总数],
sum(case [num2] when 2 then 1 else 0 end) as [num2字段 值为2的数据总数],
sum(case [num2] when 0 then 1 else 0 end) as [num2字段 值为0的数据总数],
sum(case [num3] when 1 then 1 else 0 end) as [num3字段 值为1的数据总数],
sum(case [num3] when 2 then 1 else 0 end) as [num3字段 值为2的数据总数],
sum(case [num3] when 0 then 1 else 0 end) as [num3字段 值为0的数据总数],
sum(case [num4] when 1 then 1 else 0 end) as [num4字段 值为1的数据总数],
sum(case [num4] when 2 then 1 else 0 end) as [num4字段 值为2的数据总数],
sum(case [num4] when 0 then 1 else 0 end) as [num4字段 值为0的数据总数]
from
tablename