年,月,日相关的sql总结

1.此处涉及到多个日期函数

在这里插入图片描述
根据创建时间按照年月日分组

  SELECT * FROM user GROUP BY DATE_FORMAT(create_time,'%Y%u%d');

根据年(2901)查询 统计每个月数据

SELECT  COUNT(1) COUNT ,DATE_FORMAT(create_time,'%Y-%m') TIME FROM user  WHERE  DATE_FORMAT(create_time,'%Y') = '2019' GROUP BY DATE_FORMAT(create_time,'%Y-%m');

根据月每天(统计2019年3月份数据)

SELECT  COUNT(1)  COUNT ,DATE_FORMAT(create_time,'%Y-%m-%d') TIME FROM user  WHERE DATE_FORMAT(create_time,'%Y-%m') = '2019-03'  GROUP BY DATE_FORMAT(create_time,'%Y-%m-%d');

根据天查询统计每小时数据

SELECT  COUNT(1)  COUNT ,create_time TIME FROM user  WHERE DATE_FORMAT(create_time,'%Y-%m-%d') = '2019-03-11' GROUP BY create_time;

本周

SELECT * FROM user WHERE WEEKOFYEAR(create_date)=WEEKOFYEAR(NOW()); 

本月

SELECT * FROM user WHERE MONTH(create_date)=MONTH(NOW()) AND YEAR(create_date)=YEAR(NOW()); 

本年

SELECT * FROM user WHERE YEAR(create_date)=YEAR(NOW()); 

当天

 SELECT * FROM user WHERE TO_DAYS(create_time) = TO_DAYS(NOW()); 

统计当天(TO_DAYS)

SELECT COUNT(1)  COUNT ,create_time TIME FROM user  WHERE  TO_DAYS(create_time) =  TO_DAYS('2019-03-11') GROUP BY create_time;

统计本周(WEEKOFYEAR)

SELECT COUNT(1)  COUNT ,DATE_FORMAT(create_time,'%Y-%m-%d') TIME FROM user WHERE  WEEKOFYEAR(create_time) = WEEKOFYEAR( '2019-03-11' ) GROUP BY  TO_DAYS(create_time); 

统计本月(MONTH)

SELECT COUNT(1)  COUNT ,DATE_FORMAT(create_time,'%Y-%m-%d') TIME FROM user WHERE  MONTH(create_time)=MONTH('2019-03-25') AND YEAR(create_time)=YEAR('2019-03-25') GROUP BY  TO_DAYS(create_time);

统计本年(YEAR)

SELECT COUNT(1) AS COUNT ,DATE_FORMAT(create_time,'%m') AS TIME  FROM user  WHERE pay_type = 1 AND YEAR(create_time)=YEAR('2019-03-25')  GROUP BY  MONTH(create_time); 

统计这个月

SELECT * FROM tb_month_card_settlement WHERE MONTH(last_charging_time)=MONTH(NOW()) AND YEAR(last_charging_time)=YEAR(NOW());

上個月(DATE_FORMAT)

SELECT * FROM tb_month_card_settlement WHERE 	DATE_FORMAT(last_charging_time, '%Y-%m') = DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m');

查询上个月(DATE_FORMAT)

SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH), '%Y-%m');

当前日期

SELECT CURDATE()

当前时间

SELECT NOW()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值