天天看點

【轉】SQL語句統計每天、每月、每年的資料

原文:https://www.cnblogs.com/Fooo/p/3435687.html

SQL語句統計每天、每月、每年的資料

1、每年

select year(ordertime) 年,

sum(Total) 銷售合計

from 訂單表

group by year(ordertime)

2、每月

month(ordertime) 月,

group by year(ordertime),

month(ordertime

3、每日

day(ordertime) 日,

month(ordertime),

day(ordertime)

另外每日也可以這樣:

select convert(char(8),ordertime,112) dt,

group by convert(char(8),ordertime,112)

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語句對資料進行統計彙總

集合函數(聚合函數,統計函數)

為了有效處理查詢得到的資料集合,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 子句指定的分組字段有關