私はこれに似たデータセットを持っています:
id product_id size color price created_date
------------------------------------------------------------------
1 24 small black 9.99 2012-06-21 00:00:00
2 24 small red 9.99 2012-06-23 00:00:00
3 24 medium black 11.99 2012-06-24 00:00:00
4 24 medium red 11.99 2012-06-24 00:00:00
5 24 large black 12.99 2012-06-25 00:00:00
6 24 large red 12.99 2012-06-26 00:00:00
7 24 small black 8.99 2012-06-27 00:00:00
8 24 medium black 10.99 2012-06-29 00:00:00
9 24 large red 13.99 2012-06-30 00:00:00
10 24 medium red 10.99 2012-07-01 00:00:00
私の意図する結果セットは次のようになります。
id product_id size color price created_date
------------------------------------------------------------------
2 24 small red 9.99 2012-06-23 00:00:00
5 24 large black 12.99 2012-06-25 00:00:00
7 24 small black 8.99 2012-06-27 00:00:00
8 24 medium black 10.99 2012-06-29 00:00:00
9 24 large red 13.99 2012-06-30 00:00:00
10 24 medium red 10.99 2012-07-01 00:00:00
つまり、product_id = 24でサイズ/色が一意であるテーブルからすべてを選択し、created_dateまでに最新のエントリのみを返します。
これに取り組む最善の方法がわかりません。一時テーブルを介して副選択しますか?内側に参加しますか?ある種のユニークで独特なコンボ?私はおそらくこれを必要以上に難しくしているでしょう。