例如,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
actar 2023-12-25 08:35:35 +08:00 1
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 2
你需要的是 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 2
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)
|