gpt4 book ai didi

sql - 在SQL中连接所有列值

转载 作者:行者123 更新时间:2023-12-03 10:08:41 25 4
gpt4 key购买 nike

如何将SQL查询返回的不同行中的所有列值合并为一个值?这是一个例子:

查询返回:

OO
------
RES1

RES2

RES3

现在我想要一个类似以下的结果:

FOOCONCAT
-----
RES1RES2RES3

有什么办法可以在sql中做到这一点?

最佳答案

SQL Server中:

SELECT  col1 AS [text()]
FROM foo
FOR XML PATH ('')

MySQL中:
SELECT  GROUP_CONCAT(col1 SEPARATOR '')
FROM foo

PostgreSQL中:
SELECT  array_to_string
(
ARRAY
(
SELECT col1
FROM foo
), ''
)

Oracle中:
SELECT  *
FROM (
SELECT col1, ROW_NUMBER() OVER(ORDER BY 1) AS rn
FROM foo
MODEL
DIMENSION BY
(rn)
MEASURES
(col1, col1 AS group_concat, 0 AS mark)
RULES UPDATE (
group_concat[rn > 1] = group_concat[CV() - 1] || col1[CV()],
mark[ANY] = PRESENTV(mark[CV() + 1], 0, 1)
)
)
WHERE mark = 1

关于sql - 在SQL中连接所有列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/970481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com