gpt4 book ai didi

sql - PostgreSQL:在具有相同列的行中选择一列中具有最小值的行

转载 作者:行者123 更新时间:2023-11-29 12:09:11 26 4
gpt4 key购买 nike

tilte 中的描述可能不是我想要的。这是一个例子。给定一个表 t1:

src dest length path
a e 5 a b e
a d 2 a c d
a g 6 a c g
a e 3 a c e
a e 4 a g e
a d 2 a b d

对于每一对(src, dest),如果只有一个条目,则保留;如果有多个条目,则选择长度最小的条目,如果它们的长度相同,则保留所有条目。输出应该是:

src dest length path
a d 2 a c d
a g 6 a c g
a e 3 a c e
a d 2 a b d

我如何使用 PostgreSQL 处理它?<​​/p>

最佳答案

我会使用窗口函数:

select t.*
from (select t.*,
dense_rank() over (partition by src, dest order by length) as seqnum
from t
) t
where seqnum = 1;

关于sql - PostgreSQL:在具有相同列的行中选择一列中具有最小值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46112264/

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