我想知道如何根据某些条件从表格中获取最后两个ID
例如,如果今天是7月1日,我想获取今天的记录ID,然后记录此前记录的ID。
请注意,前一条记录的ID可能不同,因为这是按日期排序的,因此previous_id = current_id - 1将不起作用。
感谢您的时间
苏尼
答案 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);