私はMySQLに少し錆びています。注文を把握するのに助けが必要です。
タイプ別に並べ替え、次にグループ行の日付が最も高いグループ別に並べ替え、次に各グループを日付順に並べ替える必要があります。グループ行を最も高い日付で並べ替えるクエリを作成する必要があります。次に、各グループをそのグループ内の最高の日付で並べ替える必要があります。もう1つだけあります。すべての行はタイプですが、各グループ行は同じタイプです。
これは、整理されていないテーブルの視覚的表現です
| DATE | GROUP | TYPE |
-----------------------
| 2007 | 2 | 1 |
| 2008 | 3 | 2 |
| 2005 | 3 | 1 |
| 2004 | 2 | 1 |
| 2003 | 3 | 1 |
| 2012 | 3 | 2 |
| 2011 | 1 | 3 |
これは組織化されました:
| DATE | GROUP | TYPE |
-----------------------
| 2007 | 2 | 1 |
| 2004 | 2 | 1 |
| 2005 | 3 | 1 |
| 2003 | 3 | 1 |
| 2012 | 3 | 2 |
| 2008 | 3 | 2 |
| 2011 | 1 | 3 |
タイプ、グループ、日付よりも並べ替えてみましたが、不正確です。よくわかりません。
データのサンプルセットは次のとおりです。
| ID | SET | BLOCK | SHORTNAME | RELEASEDATE | SETTYPE |
----------------------------------------------------------------------------------
| 1 | Return to Ravnica | Return to Ravnica | rtr | 2012-09-29 | 1 |
| 2 | Gatecrash | Return to Ravnica | NULL | 2013-02-01 | 1 |
| 3 | Dragons Maze | Return to Ravnica | NULL | 2013-05-03 | 1 |
| 4 | Avacyn Restored | Innistrad | avr | 2012-05-04 | 1 |
| 5 | Dark Ascension | Innistrad | dka | 2012-02-03 | 1 |
| 6 | Innistrad | Innistrad | isd | 2011-09-30 | 1 |
| 7 | New Phyrexia | Scars of Mirrodin | nph | 2011-05-13 | 1 |
| 8 | Mirrodin Besieged | Scars of Mirrodin | mbs | 2011-02-04 | 1 |
| 9 | Scars of Mirrodin | Scars of Mirrodin | som | 2010-10-01 | 1 |
グループはブロック、タイプはsettype、日付はリリース日です。
ブロック内の日付順に並べられたすべてのブロック行、そのブロック内の最も高い日付の行順に並べられたブロック行の各セット、およびsettypeが必要です。