スキル制限付きの 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 サイトの他の関連記事を参照してください。