Mysql数据库查询技巧_日期

1.MySql按日,按月,按年,按周分组统计数据

#按日查询

SELECT DATE_FORMAT(time,'%Y-%m-%d') theTime, sum(score) FROM timi GROUP BY theTime;

#按月查询

SELECT DATE_FORMAT(time,'%Y-%m') theTime, sum(score) FROM timi GROUP BY theTime;

#按年查询

SELECT DATE_FORMAT(time,'%Y') theTime, sum(score) FROM timi GROUP BY theTime;

#按周查询

SELECT DATE_FORMAT(time,'%Y-%u') theTime, sum(score) FROM timi GROUP BY theTime;

2.日期函数

select theTime,Date(theTime),YEAR(theTime),MONTH(theTime) from timi where Date(theTime) = '2020-08-22';

 Date('2020-08-22 17:20:02') : 获取年月日--->2020-08-22

Year('2020-08-22 17:20:02') : 获取年--->2020

Month('2020-08-22 17:20:02') : 获取月--->8

DAYOFWEEK('2020-08-22 17:20:02') : 返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)--->7

WEEKDAY('2020-08-22 17:20:02') : 返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)--->5

DAYOFMONTH('2020-08-22 17:20:02') : 返回date的月份中日期,在1到31范围内--->22

DAYOFYEAR('2020-08-22 17:20:02') : 返回date在一年中的日数, 在1到366范围内 --->235

DAYNAME('2020-08-22 17:20:02') : 返回date的星期名字--->Saturday

MONTHNAME('2020-08-22 17:20:02') : 返回date的月份名字--->August

QUARTER('2020-08-22 17:20:02') : 返回date一年中的季度,范围1到4--->3

3.查询2013年1月份数据

select * from product where date(add_time) between '2013-01-01' and '2013-01-31';

4.选择30天内的数据

SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(theTime) <= 30;

 

 

参考:

感谢:https://www.cnblogs.com/shaoing/p/8971758.html

感谢:https://www.jb51.net/article/138562.htm

你可能感兴趣的:(mysql数据库)