MySQL - WHERE语句仅适用于SELECT语句的一部分

时间:2014-07-24 20:01:23

标签: mysql select where

我想用SUM语句划分COUNT语句,并使用仅适用于COUNT语句的WHERE语句。

以下是一个示例表:

id     eligible     not_eligible     call

1         0            1               1
2         1            0               1
3         1            0               1

我的目标:
SELECT COUNT(ID)/ SUM(呼叫)
FROM my_table
WHERE not_eligible = 1

我希望WHERE语句仅应用于COUNT语句。我想要返回1/3(33%),而不是1/1(100%)。任何想法如何使WHERE语句只适用于我的SELECT语句的一部分?

1 个答案:

答案 0 :(得分:2)

在Mysql中,您可以使用sum函数中的条件来获得所需的计数,条件的总和将导致布尔值0或1,并且您可以根据不同的条件计算您的计数。此外,您使用的是聚合函数但没有将它们分组即(由somecol分组)所以这将适用于整个表并被视为一个组

SELECT SUM(not_eligible = 1) / SUM(`Call`) 
FROM my_table 

Demo