【发布时间】:2021-03-19 09:36:31
【问题描述】:
我想在mysql中获取数组[1,2,3]。例如:
with tbl (id) as (
select 1 union select 2 union select 3
) select 'something', json_arrayagg(id) from tbl
# something, json_arrayagg(id)
# 'something', '[1, 2, 3]'
是否有一种更简单的方法来做到这一点,而不是在 CTE 中“建立一个表”,然后在它之外进行分组?
例如,我正在尝试做这样的事情(如果可能的话):
SELECT '1', [1,2,3]
MySQL '8.0.20'错误代码:1064。您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 '[1,2,3]) 附近使用的正确语法,这些 ids from sort group by letter order by ids asc SELECT '1', [1,2,3]' at第 4 行
【问题讨论】:
-
你能在这里给我们一些背景信息吗?我的意思是,文字
[1, 2, 3]有什么问题? -
@TimBiegeleisen 它在 mysql8 中不起作用(对我来说)。你自己能做到吗?
-
Working for me ...
-
@TimBiegeleisen 哦,我明白了——是的,它也对我有用!我的意思是不使用
cte而只使用[1,2,3]或更简单的东西。 -
好吧,据我所知,
[1, 2, 3]实际上是一个有效的 JSON 文字。我不确定你的想法。