私はこれを見つけるために何時間も探していました、そして多くのバリエーションがありますが、私は私の特定の要件でループを完全に閉じることができないようです....私がそれを持っていると思うたびにそれは私から滑り落ちます:)
だからここにあります。
一連のレコードをテーブルにインポートしました。最終的には一意の行がありますが、特定の列に重複するデータがあります。
レコードを2つのテーブルに分割したいと思います。1つは「コード」グループ内に最新のタイムスタンプを持つDISTINCTまたはUNIQUE「コード」レコードを含むテーブルで、もう1つは残りのレコードを含むテーブルです。
[編集-心からお詫び申し上げます。最初ははっきりと明確に表現できなかったので、言い換える必要があります。実際、非常に間違っていました...ごめんなさい!]
一意のROWSのみを持つ複数の列があります-(つまり、各列には重複データがありますが、特定の行のすべての列の組み合わせは一意です-明らかに主キーを除きます)
必要なのは、特定のarea_id内のコードの最新のタイムスタンプを含む行です。
以下の例では、これら3つをキーと見なしているため、他の列を除外しています。
TABLE#1
code area_id timestamp
1 2 2010-02-31 00:00:00
2 2 2012-01-31 00:00:00
2 2 2011-02-31 00:00:00
1 5 2010-02-31 00:00:00
2 5 2010-02-31 00:00:00
1 2 2011-01-31 00:00:00
1 5 2012-01-31 00:00:00
つまり、私が言いたい答えの構造は次のとおりです。
「コード1とarea_id2の組み合わせの場合、最新のタイムスタンプは2011-01-3100 :00:00です」 -その行を返します。
codeとarea_idの組み合わせごとに繰り返します。
それで;
RESULT
code area_id timestamp
1 2 2011-01-31 00:00:00
2 2 2012-01-31 00:00:00
1 5 2012-01-31 00:00:00
2 5 2010-02-31 00:00:00
前述したように、行を分割するときにデータを含める必要のある列は他にもたくさんありますが、後で心配する必要があると思います。最初のステップは、mysql/を使用せずに結果セットのデータを取得することです。ワークベンチがタイムアウトしました。
JS