2013-07-16 56 views
1

大家好我正在與postgres合作來獲得結果對,但我得到重複的記錄。 即時得到這樣的:使用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在這裏你可以看到的模式和使用查詢Im的一個樣本。有些人可以用手來達到預期的效果嗎?謝謝。

+0

你到底想幹什麼? –

+0

這項工作與GTFS(運輸)有關,我希望在特定的時間內獲得可能的離職。在工作中進行一些討論後,所給出的答案將會奏效 – LouieV

回答

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 
+0

謝謝!有時候你會被複雜性所包裹,忘記簡單的事情。那是這樣的情況:( – LouieV

+0

@LouieV - 不用擔心,很高興這有幫助! – sgeddes