0

我想要一个函数或触发器,当插入一行时,所有具有匹配条件的行都被赋予一个介于 1 和行数之间的随机整数,以便随机化选择中的行。

例如,如果我有数据

Col1 Col2 顺序
  1
  乙二
  乙二
  乙 3
  A2

我用 Col1=B 和 Col2=2 插入另一行然后我想结束

Col1 Col2 顺序
  1
  乙 2 2
  乙 2 3
  乙 3
  A2
  乙 2 1

Order 是一个值为 1 的数字 - 每个数字只出现一次?

4

1 回答 1

1

不需要存储这个,你可以在检索数据时生成这样一个数字。

select col1, 
       col2, 
       row_number() over (partition by col1, col2 order by random()) as random_order
from the_table
于 2013-01-21T15:22:42.183 回答