对单个列执行多个聚合
Perform multiple aggregations on a single column
我想return计算多个条件的记录数。
单个查询将 return 我需要的:
SELECT count(id) AS "support" FROM mail WHERE mail_class = "support"
但是我需要 return 多次计数。我可以在 php 中通过单独调用数据库轻松实现这一点,但这似乎没有必要,而且很可能会导致延迟。
我试过使用联合,但没有用。
您想使用条件聚合。它看起来像这样:
SELECT sum(mail_class = 'support') as support,
sum(mail_class = 'who know what you really want') as othercount
FROM mail;
我想return计算多个条件的记录数。
单个查询将 return 我需要的:
SELECT count(id) AS "support" FROM mail WHERE mail_class = "support"
但是我需要 return 多次计数。我可以在 php 中通过单独调用数据库轻松实现这一点,但这似乎没有必要,而且很可能会导致延迟。
我试过使用联合,但没有用。
您想使用条件聚合。它看起来像这样:
SELECT sum(mail_class = 'support') as support,
sum(mail_class = 'who know what you really want') as othercount
FROM mail;