【问题标题】:How to filter last one week data on a specific day如何过滤特定日期的上周数据
【发布时间】:2018-04-07 11:41:58
【问题描述】:

您好,我有一个 MySQL 数据库,它已经具有自动递增日期时间列(可能有帮助)。

如何过滤过去一周的数据,从特定日期开始到下一个 7 天。

例子。显示从本周星期三到第 7 天的数据

$query="SELECT * FROM diagnosa WHERE schedule= '$a'";

$a 是开始显示数据的开始日期(例如星期三)

【问题讨论】:

  • 日期/时间列不会自动递增,因此您的问题毫无意义。样本数据和期望的结果总是有帮助的。
  • @GordonLinoff 谢谢。我尝试解决这个问题

标签: php mysql date


【解决方案1】:

这可能对你有帮助...

SELECT *
FROM table
WHERE date_colunm between 'start_date' AND DATE_ADD("start_date", INTERVAL 7 DAY);

更新:

根据您的需要,从星期三开始。请在下方查询

    SELECT *
    FROM table
    WHERE date_colunm
        between (
            CASE
                WHEN DAYOFWEEK(curdate()) > 4
                THEN DATE_SUB(NOW(), INTERVAL (7-DAYOFWEEK(curdate())) DAY)
                ELSE (
                    CASE
                        WHEN DAYOFWEEK(curdate()) < 4
                        THEN DATE_ADD(NOW(), INTERVAL (4-DAYOFWEEK(curdate())) DAY)
                        ELSE curdate()
                        END
                    )
                END
            ) as date
        AND DATE_ADD (
            (   
                CASE
                    WHEN DAYOFWEEK(curdate()) > 4
                    THEN DATE_SUB(NOW(), INTERVAL (7-DAYOFWEEK(curdate())) DAY)
                    ELSE (
                        CASE
                        WHEN DAYOFWEEK(curdate()) < 4
                        THEN DATE_ADD(NOW(), INTERVAL (4-DAYOFWEEK(curdate())) DAY)
                        ELSE curdate()
                        END
                    )
                    END
            ) as date, INTERVAL 6 DAY
        )

注意:

有一些代码表示星期三我们有 4 天(如查询中所述), 因此您可以根据您的要求更改代码。喜欢星期一是:2

【讨论】:

  • 我们可以将 start_date 更改为特定日期吗?因为必须显示该周的每周数据
  • 哦,你需要从星期三开始。请在下面查询 SELECT * FROM table WHERE date_counm between (CASE WHEN DAYOFWEEK(curdate()) > 4 THEN DATE_SUB(NOW(), INTERVAL (7-DAYOFWEEK(curdate())) DAY) ELSE (CASE WHEN DAYOFWEEK(curdate() ) 4 THEN DATE_SUB( NOW(), INTERVAL (7-DAYOFWEEK(curdate())) DAY) ELSE (CASE WHEN DAYOFWEEK(curdate())
  • 有一些日期的代码,例如星期三我们有 4 个(如查询中所述),因此您可以根据需要更改代码。喜欢星期一是:2
  • 不要在此处发表评论,而是更新您的答案以反映更改。
  • @MukhpalSingh ,对不起,我尝试应用它,但没有结果
猜你喜欢
  • 1970-01-01
  • 2021-01-16
  • 2019-05-12
  • 2015-12-04
  • 2021-02-13
  • 2011-04-14
  • 1970-01-01
  • 2020-08-21
相关资源
最近更新 更多