Pan*_*sis 5 sql sql-server count aggregate-functions select-case
假设您想要按以下方式执行操作:
SELECT CASE
WHEN (SELECT COUNT(id) FROM table WHERE column2 = 4) > 0
THEN 1 ELSE 0 END
Run Code Online (Sandbox Code Playgroud)
当表中有一行或多行时,基本上只返回1,否则返回0.必须有一种语法正确的方法来做到这一点.可能是什么?谢谢!
Red*_*ter 27
问题:当表中有一行或多行时返回1,否则返回0:
在这种情况下,没有必要COUNT.相反,使用EXISTS,而不是计算所有记录将立即返回任何记录,这表现得更好:
SELECT CASE
WHEN EXISTS (SELECT 1 FROM table WHERE column2 = 4)
THEN 1
ELSE 0
END
Run Code Online (Sandbox Code Playgroud)
tem*_*ope -8
你可以这样做:
SELECT CASE WHEN COUNT(ID) >=1 THEN 1 WHEN COUNT (ID) <1 THEN 0 END FROM table WHERE Column2=4
Run Code Online (Sandbox Code Playgroud)
参考: http ://msdn.microsoft.com/en-us/library/ms181765.aspx
| 归档时间: |
|
| 查看次数: |
36230 次 |
| 最近记录: |