私のデータベースの最後の10個の結果を取得するのに、次のクエリを使用していますが、降順にしないでください。とにかく私はこれをクエリで達成することができますか、それともPHPで処理する必要がありますか?ご協力いただきありがとうございます。クエリ結果の反転
SELECT * FROM MSG ORDER BY id DESC LIMIT 0,10
私のデータベースの最後の10個の結果を取得するのに、次のクエリを使用していますが、降順にしないでください。とにかく私はこれをクエリで達成することができますか、それともPHPで処理する必要がありますか?ご協力いただきありがとうございます。クエリ結果の反転
SELECT * FROM MSG ORDER BY id DESC LIMIT 0,10
を動作するはず
SELECT * FROM (SELECT * FROM MSG ORDER BY id DESC LIMIT 10) AS RequiredLimit ORDER BY id ASC
SELECT * FROM ID BY ORDER(のid DESCをLIMIT 0,10 BY MSGのORDER SELECT * FROM) - あなたの問題を解決するには、次の試してみてください
すでに存在しているmysqlの回答とは別に、PHPの解決策は元の結果セットにarray_reverse()を使用することです。
ネストされたクエリは1つの答えですが、ネストされたクエリまたはサブクエリよりも2つのクエリを実行する方が最適です。オーバーヘッドを減らす - 私が間違っている場合は私を修正します。
は、私がお勧めしたい:
$row_offset = get_result("SELECT COUNT(*) FROM MSG;") - 10;
$rows = get_result("SELECT * FROM MSG LIMIT " . $row_offset . ", 10;");
は(もちろん!)と仮定すると、get_resultsは()カスタム関数は、クエリを実行し、テーブルからデータを返すことです。