こんな感じのテーブルがあります。
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