gpt4 book ai didi

sql - 在 ID IN 查询中检索相同数量的记录,即使有重复记录

转载 作者:行者123 更新时间:2023-11-29 14:18:59 24 4
gpt4 key购买 nike

我正在使用 PostgreSQL。如果我有一个 id in 查询,请说:

select * from public.record where id in (1,5,1);

这只会给我两行,因为 id 1 有重复项。但是,如果我想显示一组包含以下内容的记录怎么办:

id | value
1 | A
5 | B
1 | A

不管我这样做的原因是什么,这可能吗?

最佳答案

您可以通过连接值来做到这一点:

with ids (id) as (
values (1),(5),(1)
)
select r.*
from public.record r
join ids on r.id = ids.id;

如果需要保持参数列表的顺序,需要添加一列进行排序:

with ids (id, sort_order) as (
values
(1, 1),
(5, 2),
(1, 1)
)
select r.*
from public.record r
join ids on r.id = ids.id
order by ids.sort_order;

关于sql - 在 ID IN 查询中检索相同数量的记录,即使有重复记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36857624/

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