2
私は既存のデータを持つテーブルを持っています。この表の最初の列の一意の値ごとに、順番になっているはずの列がありますが、この表は順序が乱れています。この2番目の列を順番に戻すSQL文を実行したいと思います。Rank()関数を使用してSQLカラムを更新
select FORMULA_ID, ATTRIB_CODE, ATTRIB_VAL, ATTRIB_ORDER,
rank() over (partition by formula_id order by attrib_code, attrib_val) AS WANT_THIS
from ATTRIB
得られます:それはになるとき
FORMULA_ID ATTRIB_CODE ATTRIB_VAL ATTRIB_ORDER WANT_THIS
----------- -------------------- ---------------- ------------ ---------
2791 C_BRAND ROMAN HOLIDAY 3 1
2791 C_ENDUSE DINNER 4 2
2791 C_ENDUSE SNACK 6 3
2791 C_ENDUSER 10-17 7 4
2791 C_PRODTYPE SALAD 13 5
2791 C_RELIG ANY 14 6
2821 C_ALLERGEN PEANUT 1 1
2821 C_ALLERGEN SOY 2 2
2821 C_BRAND ROMAN HOLIDAY 1 3
2821 C_ENDUSE DINNER 1 4
は、あなたが見ることができるように、WANT_THIS列が1に行やリセットを注文私はこのSQLで私が望む結果を見ることができました新しいFORMULA_ID。しかし、私はこれを実際にWANT_THISの値を列ATTRIB_ORDERに入れるUPDATE文に変換する方法はわかりません。上のSQLをUPDATE文に変換する方法はありますか?