表dish:
欄位dish_id,dish_name,create_time
表select_food
欄位dish_id,amount,create_time
問題:輸入乙個date,獲取當周的菜品消費數量排行
最重要的部分:如何按周進行統計?
答案或許有很多種,我用的是這一種:date_format(date,fomat)
其中date為時間,fomat為要取得的字串
如date_format(『2019-05-28』,』%y%u』) ,結果為201922,也就是2023年的第二十二周.
接下來就很簡單了,按周判斷條件就是
date_format(f.create_time,』%y%u』)= date_format(『2019-05-28』,』%y%u』)
放完整的統計排行並排序的語句(按周統計菜品消費數量排行並按逆序排序)
select dish_name,sum(amount) from select_food f left join dish d on f.dish_id = d.dish_id where date_format(f.create_time,』%y%u』)= date_format(『2019-05-28』,』%y%u』) group by f.dish_id order by sum(amount) desc
Mysql按日 周 月進行分組統計
我們在用mysql抽取資料時候,經常需要按照天 周 月等不同的粒度對資料進行分組統計。而我們的時間可能是 2017 12 5 0 0 0 這種準確的時間。所以在進行分組之前我們需要對時間進行一下處理。date format是mysql內建的乙個函式,作用是以不同的格式顯示日期 時間資料。具體的語法如...
MySql按日期進行統計
當天的資料 select from 表 where date 時間欄位名 curdate 當月的資料 select from 表 where date format 時間欄位名,y m date format curdate y m 昨天 select from 表名 where to days n...
mysql 按小時,按天,按周等 統計
按周 select date format create time,y u weeks,count caseid count from tc case group by weeks 按月select date format create time,y m months,count caseid co...