收集SQL語句統計天天、每個月、每一年的數據

一、每一年
sql

select year(ordertime) as year,count(*) as count
from 訂單表
group by year(ordertime)


二、每個月
數組

select year(ordertime) as year,
month(ordertime) as month,
sum(Total) as sun_total
from 訂單表
group by year(ordertime),
month(ordertime)


三、每日
函數

select year(ordertime) as year,
month(ordertime) as month,
day(ordertime) as day,
sum(Total) as sum_total
from 訂單表
group by year(ordertime),
month(ordertime),
day(ordertime)

另外每日也能夠這樣:
spa

select convert(char(8),ordertime,112) dt,
sum(Total) 銷售合計
from 訂單表
group by convert(char(8),ordertime,112)

例一:code

查2010年3月份天天的記錄(這裏date的格式是YYYY-mm-dd hh:mm:ss排序

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

例二:
ci

sql 數據分月統計,表中只有天天的數據,如今要求求一年中每月的統計數據(一條sql)table

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


SELECT語句對數據進行統計彙總class

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 子句指定的分組字段有關
相關文章
相關標籤/搜索