我的數據是這樣的:如何GROUP BY不是唯一值以下行
table1
_____________
id way time
1 1 00:01
2 1 00:02
3 2 00:03
4 2 00:04
5 2 00:05
6 3 00:06
7 3 00:07
8 1 00:08
9 1 00:09
我想知道在哪個時間段我是在哪一種方式:
desired output
_________________
id way from to
1 1 00:01 00:02
3 2 00:03 00:05
6 3 00:06 00:07
8 1 00:08 00:09
我試着使用一個窗口函數:
SELECT DISTINCT
first_value(id) OVER w AS id,
first_value(way) OVER w as way,
first_value(time) OVER w as from,
last_value(time) OVER w as to
FROM table1
WINDOW w AS (
PARTITION BY way ORDER BY ID
range between unbounded preceding and unbounded following);
我得到的是:
ID way from to
1 1 00:01 00:09
3 2 00:03 00:05
6 3 00:06 00:07
這是不正確的,因爲在路上我不是從00:01到00:09。 是否有可能按照順序執行分區,意味着只根據屬性進行分組,是否相等?
'way'' 2'' 00:03 - 00:05'和'way'' 3'' 00:06-00:07'怎麼樣?這很混亂。 – JNevill
這是錯的,我修好了。謝謝。 – telemachos
你看起來像'id'和'time'都會嚴格按照平行升序。是這樣嗎?你確定?如果'id'是一個'serial'列,那很可能不是***總是這樣。這意味着一個時間片的最小「id」和最小「時間」可能在不同的行中。那麼結果應該是什麼? –