Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.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 一次统计一个表中的记录数_Sql_Sql Server - Fatal编程技术网

Sql 一次统计一个表中的记录数

Sql 一次统计一个表中的记录数,sql,sql-server,Sql,Sql Server,在一个只有一个查询和多个条件的表中,有没有办法对记录进行计数,这些条件会像这样重叠在一起 从条件1所在的表名称中选择@count1=count(1) 从条件1和条件2所在的表_name中选择@count2=count(1) 从条件1、条件2和条件3所在的表_name中选择@count3=count(1) 从条件1和条件2以及条件3和条件4所在的表_name中选择@count4=count(1) 我想在一次查询中获得表_name的所有@count1、@count2、@count3、@count4

在一个只有一个查询和多个条件的表中,有没有办法对记录进行计数,这些条件会像这样重叠在一起

从条件1所在的表名称中选择@count1=count(1)
从条件1和条件2所在的表_name中选择@count2=count(1)
从条件1、条件2和条件3所在的表_name中选择@count3=count(1)
从条件1和条件2以及条件3和条件4所在的表_name中选择@count4=count(1)
我想在一次查询中获得表_name的所有@count1、@count2、@count3、@count4,因为该表中的数据包含数百万条记录

可能吗?
谢谢

下面是一个我在评论中所指的例子——使用案例陈述(和总结)来获得你想要的结果

SELECT
    @count1 = SUM(CASE WHEN condition1 THEN 1 ELSE 0 END),
    @count2 = SUM(CASE WHEN condition1 AND condition2 THEN 1 ELSE 0 END),
    etc. ...
FROM table_name

您可以为每个条件使用一个CASE语句,在CASE语句中,输出1(如果满足条件)或0(如果不满足条件),然后将每个CASE相加,然后将问题与您正在使用的数据库相加。这个问题一般是关于所有sql数据库的,但我的问题发生在sql Server中谢谢,它可以工作。我不认为这样简单