sql 中將多行值轉(zhuǎn)換為一行的函數(shù)為 array_to_string(),它將一個數(shù)組轉(zhuǎn)換為一個以逗號分隔的字符串。通過與 group_concat() 等聚合函數(shù)結(jié)合使用,可以將來自多行的數(shù)據(jù)分組并轉(zhuǎn)換為一行。
SQL 中將多行值轉(zhuǎn)換為一行的函數(shù)
問題:如何在 SQL 中將多行值轉(zhuǎn)換為一行?
答案:可以使用 SQL 函數(shù) ARRAY_TO_STRING() 將多行值轉(zhuǎn)換為一行字符串。
詳細解答:
ARRAY_TO_STRING() 函數(shù)將一個數(shù)組轉(zhuǎn)換為一個以逗號分隔的字符串。該函數(shù)可以與其他聚合函數(shù)(例如 GROUP_CONCAT())結(jié)合使用,以將來自多行的數(shù)據(jù)分組并轉(zhuǎn)換為一行。
語法:
<code>ARRAY_TO_STRING(array_column, separator)</code>
登錄后復制
其中:
array_column:要轉(zhuǎn)換為字符串的數(shù)組列。
separator:可選項,用于分隔字符串元素的字符(默認為逗號)。
示例:
假設(shè)我們有一個名為 “students” 的表,包含以下列:
id | name |
---|---|
1 | Alice |
2 | Bob |
3 | Carol |
可以使用以下查詢將學生姓名轉(zhuǎn)換為一個以逗號分隔的字符串:
<code>SELECT ARRAY_TO_STRING(name, ', ') AS student_names FROM students;</code>
登錄后復制
輸出:
student_names |
---|
Alice, Bob, Carol |
同樣,以下查詢將學生姓名以分號分隔:
<code>SELECT ARRAY_TO_STRING(name, '; ') AS student_names FROM students;</code>
登錄后復制
輸出:
student_names |
---|
Alice; Bob; Carol |