[英]SQL Query: Counters and percentages
我有一张桌子,我存储所有产品订单。 我需要计算按经销商和月份分组的已关闭和失败订单的数量,以及失败订单的百分比和额外信息的请求数量。
表看起来像这样:
order id | status | dealer_id | month | area | requests
1 Closed 1 4 N "extra info"
2 failed 2 4 S "extra info"
3 failed 2 4 S 0
样本结果集为:
dealer | month | Total | % Failed | Requested info
1 4 1 0 0
2 4 2 100 % 1
在Linux上使用SQLite时,此查询似乎有效:
SELECT a.dealer_id AS dealer, a.month, COUNT(*) AS total,
(SELECT COUNT(*)
FROM orders b
WHERE b.dealer_id=a.dealer_id
AND b.month=a.month
AND b.status!='Closed')*100/COUNT(*) AS failed
FROM orders a
GROUP BY a.dealer_id, a.month;
请检查是否符合您的要求并提供反馈!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.