Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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 使用不同的where子句创建多重计数_Sql_Sql Server_Count - Fatal编程技术网

Sql 使用不同的where子句创建多重计数

Sql 使用不同的where子句创建多重计数,sql,sql-server,count,Sql,Sql Server,Count,下面的陈述非常有效。它对37000区域的所有值进行计数,并有一个计算列编号。我想做的是再添加几个计数,这样我就可以将where子句更改为38000或39000。有人能帮我吗。。。谢谢 SELECT a.region, COUNT(*) AS [computedCol1] ( SELECT DISTINCT table1.serial1, table1.serial2, CASE WHEN table2.serial1 IS NULL THEN 'No' ELSE 'Yes' E

下面的陈述非常有效。它对37000区域的所有值进行计数,并有一个计算列编号。我想做的是再添加几个计数,这样我就可以将where子句更改为38000或39000。有人能帮我吗。。。谢谢

SELECT a.region, COUNT(*) AS [computedCol1]    
(
SELECT  DISTINCT table1.serial1, table1.serial2,
    CASE WHEN table2.serial1 IS NULL THEN 'No' ELSE 'Yes' END AS [computedCol1],
    CASE WHEN table3.serial2 IS NULL THEN 'No' ELSE 'Yes' END AS [computedCol2],
    CASE WHEN table3.serial2 IS NULL AND table2.serial1 IS NULL THEN 'No' ELSE 'Yes' END AS [computedCol3]

FROM    table1
        LEFT JOIN table2
            ON table2.serial1 = table1.serial1
        LEFT JOIN dbo.EPG
            table3.serial2 = table1.serial2
)a where region = '37000' and [computedCol1]= 'No'
    group by a.region
其中区域位于('37000'、'38000'、'39000')

当您按区域分组时,每个区域将有三个不同的行及其计数。

其中区域位于('37000'、'38000'、'39000')


当您按区域分组时,每个区域都会有三行不同的计数。

谢谢。这很有效。有没有什么sql教程可以推荐给我学习中间特性的地方。我现在对它不是很满意,我想你可以从简单的教程开始,让你可以尝试在线查询=)谢谢。这很有效。有没有什么sql教程可以推荐给我学习中间特性的地方。我现在对它不太满意,我想你可以从简单的教程开始,让你可以尝试在线查询=)我认为查询在第一个括号前缺少FROM子句。对吗?我认为查询在第一个括号前缺少FROM子句。对吗?