具有技能限制的GROUP_CONCAT
在球員及其技能處於多對多關係的資料庫中,需要進行查詢玩家及其前三項技能。初步查詢嘗試使用 GROUP_CONCAT 來連接技能標題,但缺少將技能數量限制為三個的方法。
解決方案:
而GROUP_CONCAT 則不會直接支援限制,可以透過連接的後處理來使用解決方法string:
substring_index(group_concat(s.title SEPARATOR ','), ',', 3) as skills
此指令從連接的字串中提取以逗號分隔的前三個技能標題。它假設技能名稱不包含逗號,且技能數量相當小。
注意:
為了確保正確的結果,player_skills 表應該有一個主鍵由元組(player_id,skill_id)組成,防止同一技能被多次分配給玩家。
以上是如何將 GROUP_CONCAT 查詢中顯示的技能數量限制為前三名?的詳細內容。更多資訊請關注PHP中文網其他相關文章!