統計數據sql
語句(練習)
前言:
放假放的太久了,sql語句都忘記了,複習一波!
統計一般都會使用到分組與聚合函數
重點是,確定限制條件來限制,然後在根據需要的數據分組!
統計一個月的數據:
例如: 統一商品訂單表裏一個月各類商品各賣出多少!
先根據開始於結束時間限制在一個月範圍內,所有需要商品分組,相同數據爲一組,統計賣出多少!
SELECT idm.goods_name,COUNT(idm.goods_name) as '賣出數量'
FROM `order_idm` idm
where idm.create_date BETWEEN #{開始時間} and #{結束時間}
GROUP BY idm.goods_name #根據商品分組,相同爲一組
統計一個月中每天的數據:
例如: 統計一個月中每天賣出多少個!
先限制一個月條件, 然後根據天來分組! 然後聚合函數求數量
SELECT DATE_FORMAT(idm.create_date,'%d') as '號',SUM(idm.goods_volume) as '賣出數量'
FROM `mc_order_idm` idm
where idm.create_date BETWEEN '2019-10-01 00:00:01' and '2019-10-31 23:59:59'
GROUP BY DATE_FORMAT(idm.create_date,'%d')
統計一年中每月的數據:
例如: 統計一年中每月銷售額!
先限制條件爲那一年,然後根據月份分組,獲取每個月份的數據! 然後聚合函數求和金額
SELECT DATE_FORMAT(idm.create_date,'%c') as '月份',SUM(idm.actual_amount) as '每月銷售金額'
FROM `mc_order_idm` idm
where idm.create_date BETWEEN '2018-01-01 00:00:01' and '2019-12-31 23:59:59'
GROUP BY DATE_FORMAT(idm.create_date,'%c')
統計一天中,每小時的數據
例如: 統計一天每小時的銷售金額!
確定條件是一天的範圍, 然後需要小時的數據就以小時爲分組! 然後聚合函數求和金額
SELECT DATE_FORMAT(idm.create_date,'%k') as '小時',SUM(idm.actual_amount) as '每月銷售金額'
FROM `mc_order_idm` idm
where idm.create_date BETWEEN '2019-10-28 00:00:01' and '2019-10-28 23:59:59'
GROUP BY DATE_FORMAT(idm.create_date,'%k')
------------------------也可以使用HOUR(*time*)---------------------------
SELECT HOUR(idm.create_date) as '小時',SUM(idm.actual_amount) as '每月銷售金額'
FROM `mc_order_idm` idm
where idm.create_date BETWEEN '2019-10-28 00:00:01' and '2019-10-28 23:59:59'
GROUP BY HOUR(idm.create_date)
DATE_FORMAT(*
date*,*
format*)
*date
根據format
*字符串 格式化值。
也可以使用其他日期函數:
DAYOFMONTH(*
date*)
傳回的月份中的某天, *date
*範圍 1
爲31
,或傳回 0
日期爲零的日期(例如 '0000-00-00'
或) '2008-00-00'
。
等等…在官網