[英]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.