ホームページ > データベース > mysql チュートリアル > GROUP_CONCAT クエリに表示されるスキルの数を上位 3 つに制限するにはどうすればよいですか?

GROUP_CONCAT クエリに表示されるスキルの数を上位 3 つに制限するにはどうすればよいですか?

DDD
リリース: 2024-11-26 14:38:10
オリジナル
403 人が閲覧しました

How Can I Limit the Number of Skills Shown in a GROUP_CONCAT Query to the Top Three?

スキル制限付きの GROUP_CONCAT

プレイヤーとそのスキルが多対多の関係にあるデータベースでは、クエリが必要です。選手とその上位 3 つのスキルをリストします。最初のクエリでは、GROUP_CONCAT を使用してスキル タイトルを連結しようとしますが、スキルの数を 3 つに制限する方法がありません。

解決策:

一方、GROUP_CONCAT は使用しません。制限を直接サポートしているため、連結されたものを後処理することで回避策を使用できます。 string:

substring_index(group_concat(s.title SEPARATOR ','), ',', 3) as skills
ログイン後にコピー

このコマンドは、連結された文字列からカンマで区切られた最初の 3 つのスキル タイトルを抽出します。スキル名にカンマが含まれておらず、スキルの数が適度に少ないことを前提としています。

注:

正しい結果を保証するには、player_skills テーブルにタプル (player_id, skill_id) で構成される主キー。同じスキルがプレイヤーに複数回割り当てられることを防ぎます。

以上がGROUP_CONCAT クエリに表示されるスキルの数を上位 3 つに制限するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート