[英]Get last two ids from table based on condition
我想知道如何根據某些條件從表格中獲取最后兩個ID
例如,如果今天是7月1日,我想獲取今天的記錄ID,然后獲取之前的記錄ID。
請注意,前一個記錄的ID可能會有所不同,因為它是按日期排序的,因此previous_id = current_id-1將不起作用。
謝謝你的時間
蘇尼爾
我的mysql數據庫關閉了,我整天都在oracle和Java中工作,但是請試一試。
$日期= '07 / 01 / 2010' ; $ DATE1 =的strtotime($日期);
$ date1_id = mysql_query('SELECT max(id)FROM FROM WHERE date ='。$ date1); $ date2_id = mysql_query('SELECT max(id)FROM(從日期中選擇id,其中date ='。$ date1。'和id!='。$ date1_id。')');
我希望兩個查詢都可以,並且我認為mysql支持from子句中的子查詢,不記得了。
SELECT id, date FROM dates ORDER BY date DESC LIMIT 2;
如果您想忽略今天之后的日期,則可以添加AND date <= now()
。
假設您的日期以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);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.