誰かがこれで私を助けてくれることを願っています。SQL - GROUP BYでさらにデータを取得する
primary_key_id
serial_number
counter
selected_color
私はこのテーブルを埋めソースからデータを取得:
は、私は4列でincoming_dataと呼ばれるテーブルを持っているとしましょう。主キーのIDは であり、それは繰り返されません。私は選択された色の異なる複数のシリアル番号を取得します。
このデバイスからのカウンタはますます増加しています。
私がやりたいことは、今日受け取ったすべてのデータを選択し、シリアル番号でデータをグループ化し、最高のカウンタ値を持つレコード のみを取得することです。
シンプル:
SELECT serial_number, MAX(counter)
FROM incoming_data
GROUP BY serial number
これは私が受け取った色情報 で何かをしたいということを除いて、完璧に動作します。
選択に色を追加すると、すべてのレコードが取得されます。 その日に受け取った色は異なるためです。それは動作しません。私は、レコードのprimary_key_idを得ることができれば
その後、私はちょうど 色のクエリが、これは各primary_key_id 値が異なるのでどちらか、私はそれらすべてを取得動作しませんでした。
これを行うためのより良いテクニックに関する提案はありますか?
ありがとうございます!
あなたのRDBMSは何ですか? – Sung