は、我々は最初の2行が重複して知られている(障害のあるソフトウェアの例えば結果)されている次の表SELECT行2列の特殊性に基づいて
orderId productId orderDate amount
1 2 2017-01-01 20:00:00 10
1 2 2017-01-01 20:00:01 10
1 3 2017-01-01 20:30:10 5
1 4 2017-01-01 22:31:10 1
を持っていると言うことができますので、注文ID + PRODUCTIDはユニークキー
を削除する必要があります。どのようにこれを最も効率的な方法で行うのですか?
orderDateで1秒差がなかった場合、我々は差が
SELECT DISTINCT * FROM `table`
を使用することができ、一つはGROUPBY使用することができます
SELECT `orderId`,`productId`,MIN(`orderDate`),MIN(`amount`)
FROM table
GROUP BY `orderId`,`productCode`
を私はタイプ、後者のコマンドは非常に疲れる見つけますたくさんの列がある場合。他の選択肢は何ですか?
更新日:私はSnowflakeを使用しています。
あなたはどのDBMSを使用していますか? –
金額が異なる場合の対処方法2つのエントリのどちらを保持するかを決めるにはどうすればいいですか? –
重複したレコードをテーブルから削除したいのですか、それとも選択しないだけですか? –