Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server CE 4.0-多列中不同值的计数频率_Sql_Count_Sql Server Ce_Sql Server Ce 4 - Fatal编程技术网

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

SQL Server CE 4.0-多列中不同值的计数频率,sql,count,sql-server-ce,sql-server-ce-4,Sql,Count,Sql Server Ce,Sql Server Ce 4,我有一个包含20列的表,每行的每列值可以是0-4(整数) 对于where子句中指定的表的给定子集,我想计算每列中0的数量、1的数量、2的数量等 一位朋友建议使用分区,但SQL Server CE不支持这种做法。我怀疑我必须使用count(expression),但我无法计算出表达式是什么 谁能给我一个建议吗 谢谢, 威尔。认为您有一张如下表 结果集如下所示 很接近了,谢谢,但我需要的是每一列的总数,而不仅仅是整个表格的总数。@dontpanic抱歉误解,我只是更新了我的答案。这些结果看起来就像

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

对于where子句中指定的表的给定子集,我想计算每列中0的数量、1的数量、2的数量等

一位朋友建议使用
分区
,但SQL Server CE不支持这种做法。我怀疑我必须使用
count(expression)
,但我无法计算出表达式是什么

谁能给我一个建议吗

谢谢,
威尔。

认为您有一张如下表

结果集如下所示


很接近了,谢谢,但我需要的是每一列的总数,而不仅仅是整个表格的总数。@dontpanic抱歉误解,我只是更新了我的答案。这些结果看起来就像我要查找的一样,但是我在group by子句中的关键字“Left”上遇到了一个错误。我还没有在SQL Compact引用中找到该词的引用,所以我想知道它是否不受支持。谢谢。是的,不支持Left,但我将尝试改用substring。好的,请告诉我它是否有用,不要忘记检查我的解决方案作为答案;)
  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)