ホームページ  >  記事  >  データベース  >  MySQL で 10 を超える `COUNT(*)` を持つ個別の `gid` 値を効率的に選択するにはどうすればよいですか?

MySQL で 10 を超える `COUNT(*)` を持つ個別の `gid` 値を効率的に選択するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-07 11:42:03963ブラウズ

How Can I Efficiently Select Distinct `gid` Values with a `COUNT(*)` Greater Than 10 in MySQL?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。