假设我有一个这样的表:
ID Result
-------------
1 , 'pass'
2 , 'pass'
3 , 'fail'
4 , 'fail'
5 , 'fail'
6 , 'fail'
Run Code Online (Sandbox Code Playgroud)
有没有简单的方法可以找到COUNT WHERE result = 'fail' AND total COUNT.
预期产量:
FailCount TotalCount
-----------------------
4 6
Run Code Online (Sandbox Code Playgroud)
是的,我们可以使用这样的子查询来做到这一点:
SELECT
(SELECT COUNT(result) FROM t WHERE result='fail') AS FAILCount
, COUNT(result)
AS TotalCount FROM t;
Run Code Online (Sandbox Code Playgroud)
但有没有办法这样做:
SELECT COUNT(WHERE Result='fail') , COUNT(Result) FROM ...
Run Code Online (Sandbox Code Playgroud)
Rap*_*aus 15
ANSI SQL
SELECT
SUM(CASE WHEN Result='fail' THEN 1 ELSE 0 END) ,
COUNT(*) FROM ...
Run Code Online (Sandbox Code Playgroud)
MySQL特定(由eggyal指出)
SELECT
SUM(Result='fail') ,
COUNT(*) FROM ...
Run Code Online (Sandbox Code Playgroud)
是的,我们也可以COUNT这样使用:
SELECT
COUNT(CASE WHEN Result='fail' THEN 1 ELSE NULL END) ,
COUNT(*) FROM ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4046 次 |
| 最近记录: |