根据条件从表中获取最后两个ID

时间:2010-07-01 03:02:50

标签: php mysql arrays

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

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

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

感谢您的时间

苏尼

3 个答案:

答案 0 :(得分:1)

我的mysql数据库已关闭,我已经在oracle& java整天,但是给它一个镜头。

$日期= '07 / 01 / 2010' ; $ DATE1 =的strtotime($日期);

$ date1_id = mysql_query('SELECT max(id)FROM dates WHERE date ='。$ date1); $ date2_id = mysql_query('SELECT max(id)FROM(从日期中选择id ='。$ date1。'和id!='。$ date1_id。')');

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

答案 1 :(得分:1)

SELECT id, date FROM dates ORDER BY date DESC LIMIT 2;

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

答案 2 :(得分:0)

假设您的日期作为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);