Пусть у меня есть таблица:SQL случайное число, которое не повторяется в группе
HH SLOT RN
--------------
1 1 null
1 2 null
1 3 null
--------------
2 1 null
2 2 null
2 3 null
Я хочу, чтобы установить RN быть случайное число в диапазоне от 1 до 10. Это нормально для числа повторить через весь стол, но это bad, чтобы повторить номер в пределах любой данной HH. Например,:
HH SLOT RN_GOOD RN_BAD
--------------------------
1 1 9 3
1 2 4 8
1 3 7 3 <--!!!
--------------------------
2 1 2 1
2 2 4 6
2 3 9 4
Это на Netezza, если это имеет значение. Это для меня настоящий помощник. Заранее спасибо!
Почему бы не добавить уникальный индекс на '(HH, RN)' и повторить попытку в случае неудачи? –
Netezza не применяет уникальный индекс. Я не знаю, является ли это просто нашей конфигурацией или если это вся система. – Chris
Я стою исправленный! –