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



我有两个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();

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

只需使用条件聚合:

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

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

这可以做到

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());

最新更新