2012-02-20 18 views
6

テーブルを持つmysql DBを持っていますが、その中に日付型フィールドがあり、最近渡された日付が必要です - 降順で並べ替えるようにしたいのですが今日の前からの記録を取って、LIMIT関数を使って一番上のものだけをとり、WHERE句を追加すると、選択した都市のオファーでなければなりません。今日より前の日付を持つSQLを選択するレコード

$result = mysql_query(" 
SELECT * FROM offers 
WHERE city = ".$_SESSION["city"]." 
ORDER BY exp_date DESC 
LIMIT 0, 1"); 

答えて

11

where句

$result = mysql_query(" 
SELECT * FROM offers 
WHERE city = ".$_SESSION["city"]." and Date < CURRENT_DATE() 
ORDER BY exp_date DESC 
LIMIT 1"); 
3

に別の条件を追加する場所に次の条件を追加します。

... and exp_date < CURDATE()

http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.htmlを参照してください。

+0

アレクセイ、それ以前、後でありません:) '>を' <'で置き換えてください。 –

+0

これは現在の日付より後の日付を返します –

8
SELECT * FROM deals WHERE city = 2 AND exp_date < CURDATE() 
ORDER BY exp_date DESC LIMIT 0, 1 
関連する問題