MySQL の WHERE 句で COUNT(*) を効果的に利用する
MySQL で目的の結果を達成するには、個別の GID 値を選択します。 COUNT(*) 条件が 10 を超え、結果を降順で並べ替える場合、WHERE 句内でネストされた SELECT クエリを使用する提案されたアプローチは最も効率的ではない可能性があります。
代わりに、GROUP BY を使用することを検討してください。タスクを達成するための HAVING 句。修正されたクエリは次のとおりです。
SELECT gid FROM `gd` GROUP BY gid HAVING COUNT(*) > 10 ORDER BY lastupdated DESC
クエリの理解
GROUP BY 句は、gd テーブル データを gid 列ごとに編成します。このアクションは、同じ gid 値を持つ行を集計します。
その後、HAVING 句がグループ化された行にフィルターを適用し、COUNT(*) が 10 より大きい行のみを選択します。これにより、返された結果が確実に満たされるようになります。
最後に、ORDER BY 句により、残りの行が lastupdated タイムスタンプに基づいて降順に配置され、希望の並べ替えが行われます。
以上がMySQL で 10 を超える `COUNT(*)` を持つ個別の `gid` 値を効率的に選択するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。