分享[ASP.NET] SQL語句統計每天、每月、每年的資料 編輯:吳立星

北京阿星發表於2016-11-17
SQL語句統計每天、每月、每年的資料

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

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


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


另外每日也可以這樣:
select convert(char(8),ordertime,112) dt,
sum(Total) 銷售合計
from 訂單表
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語句對資料進行統計彙總


用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 子句指定的分組欄位有關


 


 

相關文章