簡體   English   中英

SQL - 按 ID 的基數分組

[英]SQL - Group by the base of an ID

我的 SQL 不是很好,但我正在改進。

我嘗試從包含銷售數據的表中提取記錄。 我想知道零售商及其子公司每月賺取多少利潤。

retailer_id是從 5 位數字的根和(如果存在子公司)兩個數字的相鄰 _ 構建的。 像這樣:

  • 無子公司:30000
  • 與子公司:30000_01、30000_02

代碼:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM