मेरा मानना है कि आप row_number()
चाहते हैं :
select t.*,
(row_number() over (partition by c1, c2, c3, c4, c5 order by c6) - 1
) as "Count"
from t;
आप merge
. का उपयोग कर सकते हैं इसे update
में डालने के लिए बयान। वैकल्पिक रूप से, यदि आप वास्तव में update
want चाहते हैं :
update t
set count = (select count(*)
from t t2
where t2.col1 = t.col1 and t2.col2 = t.col2 and t2.col3 = t.col3 and
t2.col4 = t.col4 and t.col5 = t2.col5 and
t2.col6 < t.col6
);