我有一张看起来像这样的桌子。
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
Run Code Online (Sandbox Code Playgroud)
我想要一个给出这个结果的 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
Run Code Online (Sandbox Code Playgroud)
所以我希望所有具有相同 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 | …Run Code Online (Sandbox Code Playgroud)