在单个列上执行多个聚合

时间:2015-02-28 18:42:39

标签: php mysql sql count

我想重新计算多个条件的记录数。

单个查询将返回我需要的内容:

SELECT count(id) AS "support" FROM mail WHERE mail_class = "support"

但是我需要返回多个计数。我可以通过单独调用数据库轻松地在PHP中实现这一点,但这似乎是不必要的,并且很可能会导致延迟。

我尝试过使用联盟但是没有用。

1 个答案:

答案 0 :(得分:3)

您想要使用条件聚合。它看起来像这样:

SELECT sum(mail_class = 'support') as support,
       sum(mail_class = 'who know what you really want') as othercount
FROM mail;