例如,SELECT id
FROM record_tbl
WHERE id > 7;
会有 9,14,22,36 结果
直接想要一个:
'9','14','22,'36'
不知道 mysql 的语法,能不能直接这样输出呢?
1
iseki 337 天前 via Android
可以,去聚合函数里看看,肯定有
|
2
thinkershare 337 天前
这种问题,建议你去问 ChatGPT, 100%能告诉你答案
|
3
akira 337 天前
group concat , concat 之类的
|
4
silentsky 337 天前 via Android
那必须可以
|
5
bthulu 336 天前
可以的, select JSON_ARRAYAGG(id) FROM record_tbl WHERE id > 7;
|
6
actar 336 天前 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 336 天前
需求描述不清晰。你是想要最大的那个吗? SELECT MAX(id) FROM record_tbl WHERE id > 7
|
9
tedzhou1221 336 天前
行转列
|
10
tedzhou1221 336 天前
```sql
select group_concat(concat('"',user_id,'"')) from (select user_id from sys_user where sys_user.user_id > 100) as `a` ``` |
11
retanoj 336 天前 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 336 天前 2
group_concat 注意默认长度限制 1024
另外 这类逻辑 如果只是简单查询 推荐用程序逻辑去处理 |
13
sitboy 336 天前
是不是不准贴 chatgpt 的答案了啊?
|
14
montaro2017 336 天前
|
15
SmartTom 336 天前
你这太面向结果编程了。可以加个虚拟列 然后在外层地 group_concat(id),对虚拟列 group by (v)
|