前提・実現したいこと
PostgreSQLで一部キーが重複していた場合
重複していないキー(数字)を足す処理を行いたいです
例えばtestテーブルが存在し
id,date,num0,num1,num2 1,2019-02-25,0,1,0 1,2019-02-25,1,0,0 1,2019-02-26,3,1,2 2,2019-02-25,0,0,1 2,2019-02-25,0,2,0
というテーブルがあったとして、実行後
id,date,num0,num1,num2 1,2019-02-25,1,1,0 1,2019-02-26,3,1,2 2,2019-02-25,0,2,1
上記の様に、id,date
を重複キーとして絞り出し重複していない箇所を合わせるようにし、
重複していたレコードは削除するように行いたいと思っております。
id,date
が重複しているのにも関わらず同じnum
に0以外の数字が入ることはありません
例えば
id,date,num0,num1,num2
1,2019-02-25,0,1,0
1,2019-02-25,1,1,0
このように`id`と`data`は重複しているが、両方とも`num1`に0以外の数字が入っている というようなレコードは存在しません。 上記SQLの作成にご教授頂けないでしょうか。 ### 該当のソースコード ```sql SELECT id,date FROM test GROUP BY id,date HAVING COUNT(*)>1
試したこと
Update
文を使って更新処理を行おうとしましたが知恵が足らずうまく動きませんでした。
補足情報(FW/ツールのバージョンなど)
Windows 10
PostgreSQL11

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。