gpt4 book ai didi

sql - 如何在 sqlite 中限制 group_concat 子组?

转载 作者:搜寻专家 更新时间:2023-10-30 23:26:36 25 4
gpt4 key购买 nike

我有这个非常简单的表格

create table foo (id int);
create table bar (id int, name text);

insert into foo(id) values (1), (2);
insert into bar(id, name) values (1, 'a'), (1, 'b'), (2, 'c'), (2, 'd'), (2, 'e');

我想为每个 foo 连接 bar.name,但 bar.name 的数量有限。

比如限制为2,应该返回

id | names
1 | a,b
2 | c,d

没有限制,我知道我可以这样写

select id, group_concat(name) as names from foo natural join bar group by id;

它只是给了我

id | names
1 | a,b
2 | c,d,e

但我不知道如何限制通过 group_concat 的 name

另外,我如何订购经过 group_concatname

最佳答案

使用子查询,从另一个有限的子查询中获取串联应该可行。

SELECT f.id,
(SELECT group_concat(x.name)
FROM (SELECT b.name
FROM bar b
WHERE b.id = f.id
ORDER BY b.name
LIMIT 2) x) names
FROM foo f;

db<>fiddle

关于sql - 如何在 sqlite 中限制 group_concat 子组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56441803/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com