sql - 如何最好地使用 CASE STATEMENT Count(*)?

标签 sql sql-server case

以下 SQL(在 SQL Server 上)返回错误:

Incorrect syntax near '*'



使用以下 SELECT 语句是否存在固有的错误?:
SELECT
COUNT(CASE WHEN <conditions> THEN * ELSE NULL END) as conditionalcountall
FROM TABLE

我尝试了这种变体,但也失败了:
SELECT
CASE WHEN <conditions> THEN COUNT(*) ELSE NULL END as conditionalcountall
FROM TABLE

最佳答案

我倾向于喜欢 sum()

SELECT
SUM(CASE WHEN <conditions> THEN 1 ELSE 0 END) as conditionalcountall
FROM TABLE

关于sql - 如何最好地使用 CASE STATEMENT Count(*)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41132262/

相关文章:

java.sql.SQLException : Wrong number of parameters error

sql - 为什么不能使用 With 关键字同时更新多列?

SQL Server - boolean 文字?

MYSQL - 最近 10 天的 SUM 值

javascript - 有没有办法改变 switch 语句中的大小写?

mysql - 创建总计(计数 'AS' 列)的 MySQL/SQL 选择语句的最佳方法?

php - 查找 3 特定行

mysql - SQL "like"搜索类似 "öüä"的字符?

sql-server - 打开日志文件 C :\Windows\system32\LogFiles\Sum\Api. 日志时出错

sql-server - 检查 BCP .dat 文件的简单方法?