大家好,我正在使用postgres来获得结果对,但我得到了重复的记录。 我得到的东西是:
stop_name|departure_time
------------------------
AAA | 16489646
BBB | 16465464
AAA | 46546665
AAA | 18421654
BBB | 16849685
AAA | 56496865
我期待的是:
stop_name|departure_time
------------------------
AAA | 16489646
BBB | 16465464
因为有点复杂,我做了一个小提琴HERE,你可以看到模式的样本和我使用的查询。有人可以帮助达到预期的效果吗?感谢。
答案 0 :(得分:3)
我认为你只需要使用MIN
聚合:
SELECT s.stop_name, min(st.departure_time) departure_time
FROM stops s
INNER JOIN stop_times st
ON s.stop_id = st.stop_id
INNER JOIN (
SELECT DISTINCT t.trip_id, t.route_id
FROM trips t, northbound nb
WHERE t.trip_id LIKE CONCAT(nb.train_id,'%')
AND t.route_id = '2'
) TR
ON TR.trip_id = st.trip_id
WHERE st.departure_time > 1373948273
GROUP BY s.stop_name