【发布时间】:2018-02-28 01:28:24
【问题描述】:
我有一个邮件分类帐表,我正在尝试查询返回百分比。我正在执行 GROUP BY 以获取基于 order_no、county 和 zip_code 的唯一记录。
SELECT, COUNT(*) as TotalMailed, COUNT(*) (WHERE Returned = 1) as ReturnedMailed, Order_No, Zip_Code,County
FROM MailLedger
GROUP BY Order_No, Zip_Code, County
我正在获取每个记录分组的正确计数,但是我需要获取已返回设置为 true 的分组记录子集的计数。
我正在运行 SQL Server,所以我确实可以使用 OVER 和 PARTITION,但是,我也很想知道在 Postgres/MySQL 中处理它的正确方法。
【问题讨论】:
-
使用
COUNT(CASE WHEN Returned = 1 THEN 1 END)
标签: sql sql-server count subquery