以下是按年、按季度和按月統計SQL查詢語句:
按年統計:
SELECTds.checker,YEAR(ds.create_time) AS settleYear,SUM(ds.quantity) AS quantity,SUM(ds.approval_price) AS approvalPrice
FROMdata_settle ds
WHEREds.delete_flag = 0AND ds.approval_status != 0AND ds.create_time BETWEEN '2021-01-01 00:00:00' AND '2023-12-31 23:59:59'AND ds.checker IS NOT NULL
GROUP BYds.checker,YEAR(ds.create_time)
按季度統計:
SELECTds.checker,YEAR(ds.create_time) AS settleYear,QUARTER(ds.create_time) AS settleQuarter,SUM(ds.quantity) AS quantity,SUM(ds.approval_price) AS approvalPrice
FROMdata_settle ds
WHEREds.delete_flag = 0AND ds.approval_status != 0AND ds.create_time BETWEEN '2021-01-01 00:00:00' AND '2023-12-31 23:59:59'AND ds.checker IS NOT NULL
GROUP BYds.checker,YEAR(ds.create_time),QUARTER(ds.create_time)
按月統計:
SELECTds.checker,YEAR(ds.create_time) AS settleYear,MONTH(ds.create_time) AS settleMonth,SUM(ds.quantity) AS quantity,SUM(ds.approval_price) AS approvalPrice
FROMdata_settle ds
WHEREds.delete_flag = 0AND ds.approval_status != 0AND ds.create_time BETWEEN '2021-01-01 00:00:00' AND '2023-12-31 23:59:59'AND ds.checker IS NOT NULL
GROUP BYds.checker,YEAR(ds.create_time),MONTH(ds.create_time)
以上三個查詢語句分別實現了按年、按季度和按月的統計功能。按年統計時,使用YEAR(ds.create_time)
來獲取年份,并在GROUP BY子句中進行相應的分組;按季度統計時,在按年的基礎上,使用QUARTER(ds.create_time)
來獲取季度,并在GROUP BY子句中增加對季度的分組;按月統計時,使用MONTH(ds.create_time)
來獲取月份,并在GROUP BY子句中增加對月份的分組。希望這樣的改造符合您的需求,如果還有其他方面需要改進或有疑問的地方,歡迎隨時提出。