आप उप-क्वेरी . में शामिल हो सकते हैं और एक अद्यतन करें . करें :
UPDATE table_name t2
SET t2.rank=
SELECT t1.rank FROM(
SELECT company,
direction,
type,
YEAR,
MONTH,
value,
rank() OVER (PARTITION BY direction, type, YEAR, MONTH ORDER BY value DESC) AS rank
FROM table_name
GROUP BY company,
direction,
TYPE,
YEAR,
MONTH,
VALUE
ORDER BY company,
direction,
TYPE,
YEAR,
MONTH,
VALUE
) t1
WHERE t1.company = t2.company
AND t1.direction = t2.direction;
विधेय में आवश्यक शर्तें जोड़ें।
या,
आप MERGE . का उपयोग कर सकते हैं और उस क्वेरी को उपयोग . में रखें खंड:
MERGE INTO table_name t USING
(SELECT company,
direction,
TYPE,
YEAR,
MONTH,
VALUE,
rank() OVER (PARTITION BY direction, TYPE, YEAR, MONTH ORDER BY VALUE DESC) AS rank
FROM table1
GROUP BY company,
direction,
TYPE,
YEAR,
MONTH,
VALUE
ORDER BY company,
direction,
TYPE,
YEAR,
MONTH,
VALUE
) s
ON(t.company = s.company AND t.direction = s.direction)
WHEN MATCHED THEN
UPDATE SET t.rank = s.rank;
ON क्लॉज में आवश्यक शर्तें जोड़ें।