SQL語句統計每天、每月、每年的 數據


Demo

每年

select year(ordertime) 年,
sum(Total) 銷售合計
from 訂單表
group by year(ordertime)

每月

select year(ordertime) 年,
month(ordertime) 月,
sum(Total) 銷售合計
from 訂單表
group by year(ordertime),
month(ordertime)

每日

select year(ordertime) 年,
month(ordertime) 月,
day(ordertime) 日,
sum(Total) 銷售合計
from 訂單表
group by year(ordertime),
month(ordertime),
day(ordertime)

Example

sql題 如何統計查詢一個月中每天的記錄

比如說要查2010年3月份每天的記錄

答案

select count(*),substr(t.date,1,10)  from table t where  t.date like '2010-03%' group by substr(t.date,1,10)

這里date的格式是YYYY-mm-dd hh:mm:ss

sql 數據分月統計,表中只有每天的數據,現在要求求一年中每個月的統計數據(一條sql)

SELECT
  MONTH (  那個日期的字段  ),
  SUM(  需要統計的字段, 比如銷售額什么的 )
FROM
  表
WHERE
  YEAR (  那個日期的字段  ) = 2010   -- 這里假設你要查 2010年的每月的統計。
GROUP BY
 MONTH (  那個日期的字段  )

用SELECT語句對數據進行統計匯總

用SELECT語句對數據進行統計匯總
集合函數(聚合函數,統計函數)
為了有效處理查詢得到的數據集合,SQL Server提供了一系列統計函數.

這些函數可以實現數據集合和匯總:
avg ([ALL|DISTINCT]列名) 求指定數字字段的平均值
sum ([ALL|DISTINCT]列名) 求指定數字字段的總和
max([ALL|DISTINCT]列名) 求指定數字字段中最大值
min ([ALL|DISTINCT]列名) 求指定數字字段中最小值
count([ALL|DISTINCT]列名) 求滿足條件記錄中指定字段不為空的記錄個數
count(*) 求滿足條件記錄總數


用GROUP BY子句對記錄分類統計匯總
格式:
GROUP BY 分組字段名列表[HAVING 條件表達式]
功能:按指定條件對指定字段依次分組進行統計匯總

注:
使用GROUP BY 的語句仍可用ORDER BY子句排序
但必須在GROUP BY之后可以使用別名但不允許對SELECT沒指定的列排序
HAVING子句是對分組統計后的查詢結果進行篩選.
使用GROUP BY 的select語句仍可用WHERE子句指定條件


說明:
Select 指定的字段必須包含且只含GROUP BY子句中指定的分組字段(可以為它指定別名),
其他必須是由集合函數組成的一個或多個計算列,統計函數中所使用的列不受限制.
GROUP BY子句中不允許使用字段或計算列的別名,可直接使用表達式.
GROUP BY子句指定表達式時,select指定的字段中可以不包括該表達式.
HAVING子句不允許使用別名
HAVING子句必須和GROUP BY一起使用,且設置的條件必須與GROUP BY 子句指定的分組字段有關


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM