当前位置:   article > 正文

mysql查询关于时间的查询语句_mysql 时间查询

mysql 时间查询

1.查询今年的数据

where YEAR(create_time) = YEAR(CURDATE()) 

2.查询今年每个月的数据

  1. SELECT a.mon,IFNULL(b.count,0) AS count
  2. FROM (
  3. SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 11 MONTH),'%m') AS mon
  4. UNION ALL
  5. SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 10 MONTH),'%m') AS mon
  6. UNION ALL
  7. SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 9 MONTH),'%m') AS mon
  8. UNION ALL
  9. SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 8 MONTH),'%m') AS mon
  10. UNION ALL
  11. SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 7 MONTH),'%m') AS mon
  12. UNION ALL
  13. SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 6 MONTH),'%m') AS mon
  14. UNION ALL
  15. SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 5 MONTH),'%m') AS mon
  16. UNION ALL
  17. SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 4 MONTH),'%m') AS mon
  18. UNION ALL
  19. SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 3 MONTH),'%m') AS mon
  20. UNION ALL
  21. SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 2 MONTH),'%m') AS mon
  22. UNION ALL
  23. SELECT DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 1 MONTH),'%m') AS mon
  24. UNION ALL
  25. SELECT DATE_FORMAT(CURDATE(),'%m') AS mon
  26. ) a LEFT JOIN (
  27. SELECT DATE_FORMAT(create_time,'%m') AS DATETIME, count(1) AS count
  28. FROM t_operation_eye_of_heaven
  29. WHERE YEAR(create_time) = YEAR(CURDATE()) AND `status`>0
  30. GROUP BY DATE_FORMAT(create_time,'%Y-%m')
  31. ) b ON a.mon = b.datetime

3.查询当天的数据

WHERE create_time between #{create_time} and now() 

4. 查询每个月不同状态的数据

  1. SELECT
  2. DATE_FORMAT(happen_time,'%Y-%m') date,
  3. SUM(CASE WHEN t.`status` >0 THEN 1 ELSE 0 END) submitCount,
  4. SUM(CASE WHEN t.`flag` = 1 THEN 1 ELSE 0 END) releaseCount,
  5. SUM(CASE WHEN t.`flag` = 2 THEN 1 ELSE 0 END) noPassCount,
  6. SUM(CASE WHEN t.`flag` = 3 THEN 1 ELSE 0 END) yjCount,
  7. SUM(CASE WHEN t.`amount` is not null THEN amount ELSE 0 END) totalMoney
  8. FROM
  9. t_operation_eye_of_heaven t
  10. <where>
  11. <if test="date !='' and date !=null">
  12. and happen_time BETWEEN #{startTime} and #{endTime}
  13. </if>
  14. </where>
  15. GROUP BY DATE_FORMAT(happen_time,'%Y-%m')
  16. order by DATE_FORMAT(happen_time,'%Y-%m') desc

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号