さて、次の MySQL クエリがあるとしましょう。
SELECT table1.*, COUNT(table2.link_id) AS count
FROM table1
LEFT JOIN table2 on (table1.key = table2.link_id)
GROUP BY table1.key
ORDER BY table1.name ASC
LIMIT 20
シンプルですよね?table1
各行がリンクされた回数とともに情報を返しますtable2
。
ただし、結果の行を 20 に制限し、結果の行を で並べ替えていることに気付くでしょうtable1.name
。これが行うことは、上位 20 件の結果をアルファベット順に返すことです。
count
降順に基づいて上位 20 件の結果に制限できる方法があるかどうか疑問に思っていたこと。また、残りの 20 の結果をアルファベット順に取得します。返された配列をフォローアップ コードで簡単に並べ替えることができることはわかっていますが、1 つのクエリでこれを行う方法があるかどうか疑問に思っています。