3
我有一張如下所示的表格。如何按日期排序,但按某個列值排序SQL
my_id | date
-------------------
1 | 2013-04-01
1 | 2013-04-02
2 | 2013-04-03
1 | 2013-04-04
3 | 2013-04-05
2 | 2013-04-06
我想獲得這個結果的SQL查詢。
my_id | date
-------------------
2 | 2013-04-06
2 | 2013-04-03
3 | 2013-04-05
1 | 2013-04-04
1 | 2013-04-02
1 | 2013-04-01
所以我希望所有具有相同的my_id與日期降序一起。並且my_id的組應根據組中的最新日期降序排列。
這就像一個線程化的對話,你可以說,是my_id是對話ID和日期是該對話的帖子的日期。因此,在列表中顯示時,與最新帖子的對話應該是最重要的。
跟進問題 如果my_id爲NULL,則不應將它們組合在一起,但仍按日期排序。這將是,如果他們不是一個對話的一部分,例如。
my_id | date
-------------------
1 | 2013-04-01
1 | 2013-04-02
2 | 2013-04-03
1 | 2013-04-04
NULL | 2013-04-05
2 | 2013-04-06
NULL | 2013-04-07
然後上面的表格會是這樣
my_id | date
-------------------
NUll | 2013-04-07
2 | 2013-04-06
2 | 2013-04-03
NULL | 2013-04-05
1 | 2013-04-04
1 | 2013-04-02
1 | 2013-04-01
很酷的工作。隨後的問題:)可以說,my_id可以是NULL(帖子不是對話的一部分),它們應該按日期排序,但不能組合在一起。這可能嗎? – Wox 2013-04-11 20:50:41
@Wox很高興工作。 – Lamak 2013-04-11 20:51:31
@Wox更新了我的回答,雖然我不確定這是否是你想要的 – Lamak 2013-04-11 20:59:42