请教, SELECT 有多行结果, mysql 能不能做到按这种指定格式,进行单行输出?

2023-12-25 01:23:59 +08:00
 qazwsxkevin

例如,SELECT id FROM record_tbl WHERE id > 7;
会有 9,14,22,36 结果
直接想要一个:

'9','14','22,'36'                    

不知道 mysql 的语法,能不能直接这样输出呢?

3097 次点击
所在节点    MySQL
16 条回复
iseki
2023-12-25 01:32:51 +08:00
可以,去聚合函数里看看,肯定有
thinkershare
2023-12-25 01:34:27 +08:00
这种问题,建议你去问 ChatGPT, 100%能告诉你答案
akira
2023-12-25 02:07:50 +08:00
group concat , concat 之类的
silentsky
2023-12-25 08:05:19 +08:00
那必须可以
bthulu
2023-12-25 08:15:27 +08:00
可以的, select JSON_ARRAYAGG(id) FROM record_tbl WHERE id > 7;
actar
2023-12-25 08:35:35 +08:00
select group_concat(concat('\'', id, '\''))
from (select 9 as id
union all
select 14 as id
union all
select 22 as id
union all
select 36 as id) t;
xwayway
2023-12-25 08:51:40 +08:00
@actar 你可真是可小天才
shakoon
2023-12-25 08:54:53 +08:00
需求描述不清晰。你是想要最大的那个吗? SELECT MAX(id) FROM record_tbl WHERE id > 7
tedzhou1221
2023-12-25 08:56:59 +08:00
行转列
tedzhou1221
2023-12-25 09:02:18 +08:00
```sql
select group_concat(concat('"',user_id,'"'))
from (select user_id
from sys_user where sys_user.user_id > 100) as `a`
```
retanoj
2023-12-25 09:23:24 +08:00
你需要的是 group_concat 和 concat 函数

select GROUP_CONCAT(id) from record_tbl where id > 7; 会输出

9,14,22,36

如果需要引号就

select GROUP_CONCAT( concat( "'", id, "'" ) ) from record_tbl where id > 7;
chinni
2023-12-25 11:18:27 +08:00
group_concat 注意默认长度限制 1024
另外 这类逻辑 如果只是简单查询 推荐用程序逻辑去处理
sitboy
2023-12-25 14:00:18 +08:00
是不是不准贴 chatgpt 的答案了啊?
montaro2017
2023-12-25 14:55:35 +08:00
SELECT
GROUP_CONCAT( ID )
FROM
( SELECT 9 AS ID UNION SELECT 14 AS ID UNION SELECT 22 AS ID UNION SELECT 36 AS ID ) T

SmartTom
2023-12-25 16:17:48 +08:00
你这太面向结果编程了。可以加个虚拟列 然后在外层地 group_concat(id),对虚拟列 group by (v)
SmartTom
2023-12-25 16:21:04 +08:00
@SmartTom
with t as (SELECT id , 'vt' as v FROM record_tbl WHERE id > 7)
select GROUP_CONCAT(t.id) from t GROUP BY t.v

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1003079

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX