gpt4 book ai didi

postgresql - 如何在单个表中满足每个条件只选择一个结果(无连接)?

转载 作者:行者123 更新时间:2023-11-29 13:41:51 24 4
gpt4 key购买 nike

我有一张表格,其中包含不同汽车的所有行程。我已将此表过滤为专门有多个停靠点的行程。现在我只想到达每辆车的第一个停靠点。

我得到的是:

Car ID
Date_depart
Date_arrive
Count (from a previous table creation)

我已经使用 Car ID + Date Depart 过滤了此表,并计算了一个 date_depart 有多个 date_arrives 的情况。现在我想弄清楚如何只回到第一站但完全卡住了。在进行横向连接 X 之外,按 Z 限制 1 等方法排序;我不知道如何只返回此表中的第一个结果。

这是一些示例数据:

Car ID     Date_depart     Date_arrive    Count
949 2017-01-01 2017-01-05 2
949 2017-01-01 2017-01-09 2
1940 2017-01-09 2017-01-11 3
1940 2017-01-09 2017-01-14 3
1940 2017-01-09 2017-01-28 3
949 2018-04-19 2018-04-23 2
949 2018-04-19 2018-04-26 2

预期的结果是:

Car ID     Date_depart     Date_arrive    Count
949 2017-01-01 2017-01-05 2
1940 2017-01-09 2017-01-11 3
949 2018-04-19 2018-04-23 2

有什么帮助吗?

最佳答案

你需要 DISTINCT ON

SELECT DISTINCT ON (date_depart, car_id)
*
FROM
trips
ORDER BY date_depart, car_id, date_arrive

这会为您提供每个组的第一行(有序的)(date_depart, car_id)

demo: db<>fiddle

关于postgresql - 如何在单个表中满足每个条件只选择一个结果(无连接)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54202327/

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