MYSQL - 一个查询中具有不同where子句的不同计数

时间:2017-08-11 17:42:23

标签: mysql sql

我有两个SQL查询,我想在一个查询中加入它们。 它们使用相同的表,但计数来自不同的where子句

SELECT count(ad_id) FROM ad where date(ad_added_date) = CURDATE();
SELECT count(ad_id) FROM ad where date(ad_disabled_date) = CURDATE();

我尝试了不同的技巧(如果是,子查询),但没有人工作。

2 个答案:

答案 0 :(得分:2)

只需使用条件聚合:

SELECT sum(date(ad_added_date) = CURDATE()),
       sum(date(ad_disabled_date) = CURDATE())
FROM ad ;

这假设ad_id永远不会NULL(尽管这个条件很容易添加。

答案 1 :(得分:0)

这可以做到

SELECT 
(SELECT count(ad_id) FROM ad where date(ad_added_date) = CURDATE()) ,
(SELECT count(ad_id) FROM ad where date(ad_disabled_date) = CURDATE());