2010-07-01 3 views
0

Я хотел бы знать, как я получаю последние два идентификаторами из таблицы на основе определенных условийПолучить последние две идентификаторами из таблицы на основе условия

, например, если сегодня 1 июля, я хочу, чтобы получить идентификатор записи на сегодняшний день, а затем идентификатор записи до этого.

Обратите внимание, что идентификатор для предыдущей записи может отличаться, так как это сортируется по дате, поэтому previous_id = current_id - 1 не работает.

Спасибо за ваше время

Сунил

+0

Не совсем понятно, на каких условиях ... – TomWilsonFL

ответ

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

возможно добавить AND date <= now() если у вас есть даты после сегодняшнего дня, что вы хотите игнорировать.

+0

Это работает для меня. Thanks Sunil –

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); 
1

мой MySQL БД вниз, и я был в оракула & java весь день, но сделайте это.

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

$ date1_id = mysql_query ('SELECT max (id) FROM date WHERE date ='. $ Date1); $ date2_id = mysql_query ('SELECT max (id) FROM (выберите id из дат, где date ='. $ Date1. 'И id! ='. $ Date1_id. ')');

Надеюсь, что два вопроса в порядке, и я думаю, что mysql поддерживает подзапросы в предложении from, не помню.

+0

Если это работает, дайте парню выше меня кредит. – DefyGravity