【问题标题】:Select Data from table with a Date interval MySql PHP从具有日期间隔 MySql PHP 的表中选择数据
【发布时间】:2017-01-10 12:14:33
【问题描述】:

这是我的名为Movies 的表,其中包含以下数据:

电影ID |电影标题 |电影_日期 |意见 | ---------+-------------+--------------+--------+ 1 |电影1 |2016-03-10 | 15 | 2 |电影2 |2016-02-14 | 12 | 3 |电影3 |2016-01-27 | 50 | 4 |电影4 |2016-01-21 | 13 | 5 |电影5 |2015-12-30 | 10 | 6 |电影6 |2015-12-27 | 83 |


我的查询是:

SELECT * FROM Movies WHERE(基于 movie_date 和当前系统日期的日期间隔) ORDER BY views DESC LIMIT 5

我想修改我的查询以仅选择具有指定日期间隔的电影。

【问题讨论】:

  • 我不太清楚a date interval based on movie_date and the current system date 的含义。可以举个例子吗?

标签: mysql date


【解决方案1】:

你也可以试试:

SELECT * FROM `Movies` WHERE `movie_Date` BETWEEN $date1 AND $date2;

这是最好的方法。享受吧。

【讨论】:

  • 为什么它是最好的方法?
  • 请试一试看看。可能还有其他方法可以获取BETWEEN 两个日期,但这是最好的。如果不是BETWEEN,那么LIKE 将是最好的方法。
  • 什么意思是为什么您的方式比您在其他答案中看到的其他 between 方式更好?
  • 完全一样。
【解决方案2】:

您可以为此使用between

SELECT * FROM Movies WHERE movie_date BETWEEN startDate AND endDate ORDER BY views DESC LIMIT 5

【讨论】:

    【解决方案3】:

    把你的查询改成这样的

    SELECT * FROM Movies WHERE (movie_Date >= startDate and movie_Date <= endDate) ORDER BY views DESC LIMIT 5
    

    其中startDateendDate 给出了您指定的日期间隔。

    应该这样做

    【讨论】:

      【解决方案4】:
      SELECT * FROM Movies WHERE(movie_date BETWEEN movie_date AND NOW()) ORDER BY views DESC LIMIT 5
      

      【讨论】:

        【解决方案5】:

        我认为你需要这个:

        SELECT * FROM `Movies` WHERE `movie_Date` BETWEEN $date1 AND NOW() ORDER BY views DESC LIMIT 5
        

        希望对你有帮助

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-05-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-05-22
          • 2012-02-01
          相关资源
          最近更新 更多