【问题标题】:Get current week, month and year records using SQL使用 SQL 获取当前的周、月和年记录
【发布时间】:2017-08-31 07:45:53
【问题描述】:

我有一个表,其中有一列的值类似于 2017-08-21

观看截屏视频here

现在我需要获取当前周、当前月和当前年份的值。

我怎样才能做到这一点?

【问题讨论】:

  • Mysql 还是 MSSQL?请张贴到目前为止您尝试过的内容。看看之前的日期函数(mssql 或 mysql)。
  • 获取值是什么意思?您是按周、月、年对某些列求和,还是仅在 where 条件下列出行?
  • @P.Salmon 我只需要选择当前周、月和年的条目。
  • WHERE 'hitdate' >= $first_date & 'hitdate' <= $last_date ?

标签: php mysql get range


【解决方案1】:

本周:

SELECT * 
FROM  your_table 
WHERE YEARWEEK(`your_date`) = YEARWEEK(CURDATE())

当月

SELECT * 
FROM  your_table 
WHERE YEAR(`your_date`) = YEAR(CURDATE())
  AND MONTH(`your_date`) = MONTH(CURDATE())

当年

SELECT * 
FROM  your_table 
WHERE YEAR(`your_date`) = YEAR(CURDATE())

【讨论】:

    【解决方案2】:

    选择当年的所有记录

    Select *
    FROM `table_name`
    WHERE YEAR('hit_date') = YEAR(CURDATE());
    

    选择当月的所有记录

    Select *
    FROM `table_name`
    WHERE MONTH('hit_date') = MONTH(CURDATE())
    AND YEAR('hit_date') = YEAR(CURDATE());
    

    选择当周的所有记录

    Select *
    FROM `table_name`
    WHERE YEARWEEK('hit_date') = YEARWEEK(CURDATE());
    

    请注意关于 YEARWEEK,您可以根据模式(第二个参数)指定您的一周开始日期,请查看 MySQL YEARWEEK() Function

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多