2011-01-03 89 views
1

私はデータベースから最も古い日付に基づいてレコードを取り出そうとしています。PHP/MySQL日付で並べ替え

MySQLのテーブルは次のようになります。

状態、日付、最後に、URL

1、2010年12月30日17時59分54秒、2011-01-03 6時26分04秒、 site1.com

1、2010年12月28日12時16分10秒、2011-01-03、6時25分24秒、site2.com

日付と最後の行は日時です。

は、ここでのクエリの2種類が、私が試したです:

mysql_query("SELECT * FROM links WHERE status=1 ORDER BY last DESC LIMIT 0,25"); 
mysql_query("SELECT * FROM links WHERE status=1 ORDER BY DATE(last) DESC LIMIT 0,25"); 

クエリは、ほとんどの部分のために働くが、常にうち、最も古いレコードの一部を残して...

任意のアイデア?私は「最後」と仮定するつもりです

+0

あなただけの最初のクエリは、last' 'に' DATE'を使用する必要は十分ではありません最後に25が表示されますので、さて、あなたは、25件の結果に制限しています。 – nico

+0

テーブルの行数は100です。私は最も古い日付の25だけを望んでいました。 – R3dBu77

答えて

1

は、最後のクリックまたは更新の権利を意味ありがとうございますか!私はまたあなたが最も古い日付を最初にしたいので、あなたが昇順(12/20、12/21)を望むと思う。 ASCが暗黙のうちに "最後のLIMIT 25までのオーダー"は問題ありません。

+0

はい、それは私が望む100%です。私は試してみましょう。 :) – R3dBu77

1

dateとlastのデータ型は何ですか?タイムスタンプか?

はこれを試してみてください。

mysql_query("SELECT * FROM links WHERE status=1 ORDER BY UNIX_TIMESTAMP(last) DESC LIMIT 0,25"); 
+0

日付と最後は両方ともDATETIMEです。 – R3dBu77

関連する問題