【问题标题】:Get last two ids from table based on condition根据条件从表中获取最后两个 id
【发布时间】:2010-07-01 03:02:49
【问题描述】:

我想知道如何根据某些条件从表中获取最后两个 id

例如,如果今天是 7 月 1 日,我想获取今天的记录 ID,然后获取之前记录的 ID。

请注意,上一条记录的 id 可能不同,因为这是按日期排序的,因此 previous_id = current_id - 1 不起作用。

感谢您的宝贵时间

苏尼尔

【问题讨论】:

  • 不太清楚条件是什么......

标签: php mysql arrays


【解决方案1】:
SELECT id, date FROM dates ORDER BY date DESC LIMIT 2;

如果您想忽略今天之后的日期,可以添加AND date <= now()

【讨论】:

    【解决方案2】:

    我的 mysql 数据库已关闭,而且我整天都在使用 oracle 和 java,但试一试。

    $date='07/01/2010'; $date1=strtotime($date);

    $date1_id=mysql_query('SELECT max(id) FROM dates WHERE date='.$date1); $date2_id=mysql_query('SELECT max(id) FROM (select id from dates where date='.$date1.' and id !='.$date1_id.')');

    我希望两个查询都可以,而且我认为mysql支持from子句中的子查询,不记得了。

    【讨论】:

      【解决方案3】:

      假设您的日期作为 Unix 时间戳存储在数据库中:

      $date='07/01/2010';
      $date1=strtotime($date);
      $date1=strtotime($date.'-1 day');
      
      $date1_id=mysql_query('SELECT id FROM dates WHERE date='.$date1);
      $date2_id=mysql_query('SELECT id FROM dates WHERE date='.$date2);
      

      【讨论】:

        猜你喜欢
        • 2014-02-18
        • 1970-01-01
        • 2021-12-09
        • 1970-01-01
        • 2020-09-24
        • 1970-01-01
        • 1970-01-01
        • 2023-02-24
        • 1970-01-01
        相关资源
        最近更新 更多