Sql查詢學習:sql查詢當日,查詢本月,查詢該年下每月的統計記錄

1. Sql查詢學習:sql查詢當日,查詢本月,查詢該年下每月的統計記錄

1.1. Mysql查詢本月每天的統計 記錄
  1. 這裏用到了mysql的case-when then else end 語句:可以翻譯成:修改 * 當 * 時候 修改成 * 否則修改成 * END 。sum是統計該天的數據量。
select 
sum(case day(ex_lb_createtime) when '1' then 1 else 0 end) as '1',
sum(case day(ex_lb_createtime) when '2' then 1 else 0 end) as '2',
sum(case day(ex_lb_createtime) when '3' then 1 else 0 end) as '3',
sum(case day(ex_lb_createtime) when '4' then 1 else 0 end) as '4',
sum(case day(ex_lb_createtime) when '5' then 1 else 0 end) as '5',
sum(case day(ex_lb_createtime) when '6' then 1 else 0 end) as '6',
sum(case day(ex_lb_createtime) when '7' then 1 else 0 end) as '7',
sum(case day(ex_lb_createtime) when '8' then 1 else 0 end) as '8',
sum(case day(ex_lb_createtime) when '9' then 1 else 0 end) as '9',
sum(case day(ex_lb_createtime) when '10' then 1 else 0 end) as '10',
sum(case day(ex_lb_createtime) when '11' then 1 else 0 end) as '11',
sum(case day(ex_lb_createtime) when '12' then 1 else 0 end) as '12',
sum(case day(ex_lb_createtime) when '13' then 1 else 0 end) as '13',
sum(case day(ex_lb_createtime) when '14' then 1 else 0 end) as '14',
sum(case day(ex_lb_createtime) when '15' then 1 else 0 end) as '15',
sum(case day(ex_lb_createtime) when '16' then 1 else 0 end) as '16',
sum(case day(ex_lb_createtime) when '17' then 1 else 0 end) as '17',
sum(case day(ex_lb_createtime) when '18' then 1 else 0 end) as '18',
sum(case day(ex_lb_createtime) when '19' then 1 else 0 end) as '19',
sum(case day(ex_lb_createtime) when '20' then 1 else 0 end) as '20',
sum(case day(ex_lb_createtime) when '21' then 1 else 0 end) as '21',
sum(case day(ex_lb_createtime) when '22' then 1 else 0 end) as '22',
sum(case day(ex_lb_createtime) when '23' then 1 else 0 end) as '23',
sum(case day(ex_lb_createtime) when '24' then 1 else 0 end) as '24',
sum(case day(ex_lb_createtime) when '25' then 1 else 0 end) as '25',
sum(case day(ex_lb_createtime) when '26' then 1 else 0 end) as '26',
sum(case day(ex_lb_createtime) when '27' then 1 else 0 end) as '27',
sum(case day(ex_lb_createtime) when '28' then 1 else 0 end) as '28',
sum(case day(ex_lb_createtime) when '29' then 1 else 0 end) as '29',
sum(case day(ex_lb_createtime) when '30' then 1 else 0 end) as '30',
month(ex_lb_createtime) as month,
year(ex_lb_createtime) as year
from ex_lock_record elr
where month(ex_lb_createtime) in('11') and year(ex_lb_createtime) in('2018')group by  month;
1.2. Mysql查詢本年沒月的數據量統計
select 
sum(case month(ex_lb_createtime) when '1' then 1 else 0 end) as 一月份,
sum(case month(ex_lb_createtime) when '2' then 1 else 0 end) as 二月份,
sum(case month(ex_lb_createtime) when '3' then 1 else 0 end) as 三月份,
sum(case month(ex_lb_createtime) when '4' then 1 else 0 end) as 四月份,
sum(case month(ex_lb_createtime) when '5' then 1 else 0 end) as 五月份,
sum(case month(ex_lb_createtime) when '6' then 1 else 0 end) as 六月份,
sum(case month(ex_lb_createtime) when '7' then 1 else 0 end) as 七月份,
sum(case month(ex_lb_createtime) when '8' then 1 else 0 end) as 八月份,
sum(case month(ex_lb_createtime) when '9' then 1 else 0 end) as 九月份,
sum(case month(ex_lb_createtime) when '10' then 1 else 0 end) as 十月份,
sum(case month(ex_lb_createtime) when '11' then 1 else 0 end) as 十一月份,
sum(case month(ex_lb_createtime) when '12' then 1 else 0 end) as 十二月份,
year(ex_lb_createtime) as year
from ex_lock_record elr
where year(ex_lb_createtime) in('2019') and elr.ex_lb_status='1' group by  year;
1.3. Mysql查詢當日的數據量統計
select 
sum(case day(ex_lb_createtime) when '18' then 1 else 0 end) as '18',
day(ex_lb_createtime) as day,
week(ex_lb_createtime) as month,
year(ex_lb_createtime) as year
from ex_lock_record elr
where day(ex_lb_createtime) in('18') and month(ex_lb_createtime) in ('11') and year(ex_lb_createtime) in('2019') group by  day;
1.4. Mysql查詢出本週的每天日期
select date_sub(curdate(),INTERVAL WEEKDAY(curdate()) -0 DAY);
1.5. 參考文章

1、Mysql Case when 語句

發佈了216 篇原創文章 · 獲贊 202 · 訪問量 16萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章