例如,SELECT id
FROM record_tbl
WHERE id > 7;
会有 9,14,22,36 结果
直接想要一个:
'9','14','22,'36'
不知道 mysql 的语法,能不能直接这样输出呢?
1 iseki 2023-12-25 01:32:51 +08:00 via Android 可以,去聚合函数里看看,肯定有 |
2 thinkershare 2023-12-25 01:34:27 +08:00 这种问题,建议你去问 ChatGPT, 100%能告诉你答案 |
![]() | 3 akira 2023-12-25 02:07:50 +08:00 group concat , concat 之类的 |
![]() | 4 silentsky 2023-12-25 08:05:19 +08:00 via Android 那必须可以 |
5 bthulu 2023-12-25 08:15:27 +08:00 可以的, select JSON_ARRAYAGG(id) FROM record_tbl WHERE id > 7; |
![]() | 6 KotlinAmai 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; |
![]() | 8 shakoon 2023-12-25 08:54:53 +08:00 需求描述不清晰。你是想要最大的那个吗? SELECT MAX(id) FROM record_tbl WHERE id > 7 |
![]() | 9 tedzhou1221 2023-12-25 08:56:59 +08:00 行转列 |
![]() | 10 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` ``` |
![]() | 11 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; |
![]() | 12 chinni 2023-12-25 11:18:27 +08:00 ![]() group_concat 注意默认长度限制 1024 另外 这类逻辑 如果只是简单查询 推荐用程序逻辑去处理 |
13 sitboy 2023-12-25 14:00:18 +08:00 是不是不准贴 chatgpt 的答案了啊? |
![]() | 14 montaro2017 2023-12-25 14:55:35 +08:00 |
![]() | 15 SmartTom 2023-12-25 16:17:48 +08:00 你这太面向结果编程了。可以加个虚拟列 然后在外层地 group_concat(id),对虚拟列 group by (v) |