2017-05-12 15 views
0

MySQLデータベースから、YYYY-MM-DD HH:mm:ssの形式の日付を含むフィールド 'date'によって並べ替えられたレコードのセットを取得する必要があります。私は、SQLクエリを使用する場合 は:SQL ORDER BY日付DESCが最後のレコードを返さない

$sql = "SELECT * FROM table_name WHERE id=".$_SESSION['id']." ORDER BY date DESC LIMIT 11 OFFSET ".$offset; 

すべてが正しくソートされますが、最後の行が返されることはありません。 コマンドなしでSQLクエリを使用すると、すべての必要なレコードが返されます。ORDER BYデータベースから必要なすべてのレコードを返し

問合せ:

"SELECT * FROM table_name WHERE id=".$_SESSION['id']." LIMIT 11 OFFSET ".$offset; 

問題もクエリのこの部分なしに問題がまだ存在するためLIMIT 11 OFFSET ".$offsetにに接続されていないです。

この異常な動作は何と関連していますか?

+0

[奇妙な結果の順序と制限を使用して]重複している可能性があります(http://stackoverflow.com/questions/27803067/strange-results-order-order-by-and-limit) – Woodrow

+1

あなたは10最初のクエリの行が2番目のクエリの行は? – JNevill

+0

'working'クエリは、テーブルからレコードの不確定なセットを返します。また、「id」という用語は通常、代理PRIMARY KEYのために予約されているため、クエリは非常に奇妙になります。 – Strawberry

答えて

0

SQLクエリが完全に正しいことが判明しました。これは、このクエリを実行していたPHPコードの問題でした。問題は解決される。

+0

偉大ですが、依然として多くの意味がありません:-( – Strawberry

+0

データの表示中に変数の1つが不必要に減少し、常に1つのレコードが表示されませんでした。結果は完全に大丈夫でしたので、私のPHPコードに問題があるはずです。 – wkurek

関連する問題