使用 GROUP_CONCAT 將多個 MySQL 行合併到一個欄位
需要將多行資料合併到 MySQL 結果中的單一欄位? 連接表時,您可能會得到比您需要的更多的行。 MySQL 的 GROUP_CONCAT
函式提供了一個優雅的解決方案。
此函數將多行中的值連接成群組內的單一字串。其工作原理如下:
<code class="language-sql">SELECT person_id, GROUP_CONCAT(hobbies SEPARATOR ', ') AS hobbies_list FROM peoples_hobbies GROUP BY person_id;</code>
此查詢有效地將每個人的所有愛好編譯到 hobbies_list
列中的單一逗號分隔字串中。
為了獲得更好的控制,請考慮以下選項:
DISTINCT
: 避免連接字串中出現重複條目。 ORDER BY
: 在串聯之前按特定順序排列值。 SET group_concat_max_len = <value>
: 調整結果字串的最大長度(預設為 1024 位元組)。 如果您的連接字串超出此限制,您需要對此進行調整。 透過使用這些功能,您可以有效地管理並以更緊湊、更有組織的格式呈現您的 MySQL 數據,完全滿足您的需求。
以上是如何使用 GROUP_CONCAT 將多個 MySQL 行合併到一個欄位中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!