【问题标题】:SQL selecting records with dates before todaySQL选择日期在今天之前的记录
【发布时间】:2012-02-20 09:22:35
【问题描述】:

我有一个带有表的 mysql 数据库,其中一个表中有一个日期类型字段,我想要最近通过的日期 - 所以我希望它按日期降序排列,但只记录今天之前的记录,然后使用 LIMIT 函数只取最上面的一个,并且还添加了 WHERE 子句,即报价必须针对所选城市。

$result = mysql_query("
SELECT * FROM offers 
WHERE city = ".$_SESSION["city"]." 
ORDER BY exp_date DESC 
LIMIT 0, 1");   

【问题讨论】:

    标签: php mysql sql


    【解决方案1】:

    在 where 子句中添加另一个条件

    $result = mysql_query("
    SELECT * FROM offers 
    WHERE city = ".$_SESSION["city"]."  and Date < CURRENT_DATE()
    ORDER BY exp_date DESC 
    LIMIT 1");
    

    【讨论】:

      【解决方案2】:
      SELECT * FROM deals WHERE city = 2 AND exp_date < CURDATE() 
      ORDER BY exp_date DESC LIMIT 0, 1
      

      【讨论】:

        【解决方案3】:

        在 Where 中添加以下条件:

        ... and exp_date &lt; CURDATE()

        http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html

        【讨论】:

        • Alexey,它在之前,而不是之后 :) 将 &gt;= 替换为 &lt;
        • 这将返回当前日期之后的日期
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-09-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多