我正在尝试从数据库中提取两件事:一个属性为TRUE的条目和该属性为FALSE的条目。然后,我想将第一个结果除以第二个结果,以获得该属性为TRUE的条目的百分比。
SELECT product, COUNT(entries) FROM myTable
WHERE has_bug = 1
AND date > "2014-07-01"
GROUP BY product
SELECT product, COUNT(entries) FROM myTable
WHERE has_bug = 0
AND date > "2014-07-01"
GROUP BY product
我得到的结果很好,可以单独进行除法,但是可以在此一个查询中对这两个SELECT语句的结果进行除法吗?
编辑:这起到了作用:
SELECT product, SUM(has_bug = 1) / SUM(has_bug = 0)
FROM myTable
WHERE date > "2014-07-01"
GROUP BY product
您可以(ab)使用MySQL的自动类型转换逻辑:
SELECT product, (SUM(entries = 0) / SUM(entries = 1)) AS ratio
FROM myTable
WHERE date > '2014-07-01'
GROUP BY product
比较的布尔值true / falseentries = X
将被转换为整数0
或1
由MySQL进行求和,实际上是COUNT()
在单个查询中重现了您的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句