首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

求一统计的SQL语句解决方案

2012-04-02 
求一统计的SQL语句有一个表,info表的内容大概如下col1 col2 col312313412现在就想统计下,在col1,col2,col3

求一统计的SQL语句
有一个表,info表的内容大概如下
col1 col2 col3
1 2 3
1 3
4 1 2

现在就想统计下,在col1,col2,col3这3列的值的统计,但这3列的值是共同意义的
可能表达起来比较难,我就用结果来说明下吧
例如上面那个表的数据,结果应该如下:

value count
1 3
2 2
3 2
4 1

意思就是“1”这个值在info表的所有行里的col1 col2 col3这3列出现了3次,(重复不算,就是说如果col1和col2列都是1,那么这行也只能算“1”这个值出现了1次)

不知道大家明白了吗。。表达不清,起谅解
如果明白了知道方法的,希望大虾能给个SQL方法,万分感谢

[解决办法]
明白了,同一行重复不计算,在表中加入唯一标识的字段bz(比如自增类型)
SELECT requedept,SUM(case when question1='A' then 1 else 0 end) AS A,
SUM( case when question1='B' then 1 else 0 end) AS B,
SUM(ase when question1='C' then 1 else 0 end) AS C,
SUM(Iase when question1='D' then 1 else 0 end) AS D
FROM (
SELECT requedept,question1,BZ FROM tt
UNION
SELECT requedept,question2,BZ FROM tt
UNION
SELECT requedept,question3,BZ FROM tt )A1 GROUP BY requedept

如果A、B、C、D有多种,用SP动态生成SQL语句再执行



;

热点排行