SQL Server CE 4.0 - 计算多列中不同值的频率

时间:2014-04-29 03:02:05

标签: sql count sql-server-ce sql-server-ce-4

我有一个包含20列的表,每列的每行可以有0-4(整数)的值。

我想计算表中给定子集的每一列中0的数量,1的数量,2的数量等等。 where子句。

朋友建议PARTITION,但SQL Server CE不支持。我怀疑我必须使用count(expression),但我无法弄清楚表达式是什么。

有人可以给我一个建议吗?

谢谢, 将

1 个答案:

答案 0 :(得分:1)

考虑您的表格如下 enter image description here

  Select min(subset.g), count(subset.val)
        from
        (
            Select 'c1 & '+cast(Val1 as varchar(4)) as G,
                            val1 as val
                from test
            Union all
                Select 'c2 & '+ cast(Val2 as varchar(4)) as G,
                       val2 as val
                from test   
            Union all
                Select 'c3 & '+ cast(Val3 as varchar(4)) as G,   
                   val3 as val
                from test   
        ) as subset
    Group by  Left(subset.g,2),subset.val
    Order by Left(subset.g,2)

结果集就像这样

enter image description here