जैसा कि आप देख सकते हैं कि मैं एक group_id
बनाता हूं तो group_id = 1
छोटा होगा TimeStamp
प्रत्येक पोर्ट के लिए
दूसरा क्षेत्र है time_id
तो ORDER BY
. में मेरे द्वारा सभी 1
. का चयन करने के बाद सभी 2,3,4
लाओ किसी भी पोर्ट के लिए।
SELECT *
FROM (
SELECT *,
row_number() over (partition by "port" order by "insertTimeStamp") group_id,
row_number() over (order by "insertTimeStamp") time_id
FROM Table1 T
) as T
ORDER BY CASE
WHEN group_id = 1 THEN group_id
ELSE time_id
END
LIMIT 4
आउटपुट
| insertTimeStamp | port | data | group_id | time_id |
|-----------------|------|------|----------|---------|
| 1 | 20 | aaa | 1 | 1 |
| 2 | 21 | aza | 1 | 3 |
| 15 | 22 | 2aa | 1 | 8 |
| 2 | 20 | aba | 2 | 2 |