此問題已被提問和回答多次,但我的情況有點不同。SQL ORDER BY GROUP BY
說我有這樣的數據:
------------------------------
| id | date |
------------------------------
| 1 | 2016-07-15 |
| 1 | 2016-07-16 |
| 2 | 2016-07-24 |
| 2 | 2016-07-25 |
| 1 | 2016-07-29 |
| 1 | 2016-07-30 |
------------------------------
我想先順序由date
列,然後組由id
列,並採取max(date)
每個id
。
這樣id=1
出現兩次,我會得到這個
------------------------------
| id | max(date) |
------------------------------
| 1 | 2016-07-16 |
| 2 | 2016-07-25 |
| 1 | 2016-07-30 |
------------------------------
通知,因爲的id=1
造成2個獨立的「組」,在它們之間的一組id=2
順序。
我的意思是我希望group by
函數只將order by
子句中相鄰值相鄰的行組合在一起。
我該怎麼做?
什麼是最大的時間差使得兩者的差異使得放入單個組中的日期? – 1000111
@ 1000111沒有「差異限制」。問題是,我只想將'order by'子句中相鄰的相同'id'的行組合在一起。 – Malki
您的表中沒有任何主鍵嗎? – 1000111