MySQL按周進行消費排行統計

2021-09-23 20:29:29 字數 670 閱讀 2151

表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...