[英]SQL - Group by the base of an ID
我的 SQL 不是很好,但我正在改进。
我尝试从包含销售数据的表中提取记录。 我想知道零售商及其子公司每月赚取多少利润。
retailer_id
是从 5 位数字的根和(如果存在子公司)两个数字的相邻 _ 构建的。 像这样:
代码:
SELECT
retailer_id,
MONTH(Date(created_at)) AS month,
SUM(grand_total) AS Totals
FROM
sales_table
GROUP BY
retailer_id, month
可以想象,拥有子公司的零售商仍然是单独的行项目。
根据要求,我将举一个例子:
原始数据
零售商 ID | 月 | 累计 |
---|---|---|
10006 | 12 | 10 |
10006 | 9 | 20 |
10006 | 9 | 40 |
10006_10 | 12 | 40 |
10015 | 9 | 10 |
10015 | 11 | 10 |
10015 | 12 | 5 |
10015 | 11 | 20 |
预期结果:
零售商 ID | 月 | 总计 |
---|---|---|
10006 | 12 | 50 |
10006 | 9 | 60 |
10015 | 9 | 10 |
10015 | 11 | 30 |
10015 | 12 | 5 |
10015 | 11 | 20 |
谢谢您的帮助!
答案是“左”。 就像在这个:
select
left(retailer_id, 5),
Month(Date(created_at)) AS month,
sum(grand_total) AS Umsatz
FROM sales_order
WHERE store_id = '2' AND NOT status = 'canceled' AND created_at between '2021-09-01' AND '2022-01-27'
GROUP BY left(retailer_id, 5), month
ORDER BY left(retailer_id,5);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.