powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Получить случайную строку из выборки
25 сообщений из 85, страница 2 из 4
Получить случайную строку из выборки
    #39852412
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.написать rownum=(select count from numbers where status=1)
Очепятка, я имел ввиду примерно такое:
Код: plsql
1.
2.
3.
4.
select *
from numbers
where state=1
and rownum = (select trunc(dbms_random.value*count(*)) from numbers where state=1)


Но в таком виде запрос возвращает пустой результат.
Даже с rownum=2 возвращает пустой результат.
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852416
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.последовательная нумерация будет приводить к попыткам манипулирования.Что меняет непоследовательность?
where rownum=1 достаточно.
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852425
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Человек отправляет заявку, получает номер 290 - и отправляет ещё десяток заявок, чтобы получить номер 300.
Если номер будет рандомный, то мотивов так делать у него не будет.
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852433
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Alibek B.,

Sys_guid используйте вместо сиквенсов и все проблемы исчезнут
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852458
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Человек отправляет заявку, получает номер 290 - и отправляет ещё десяток заявок, чтобы получить номер 300.
Если номер будет рандомный, то мотивов так делать у него не будет.Во-первых, апдейт "первой" строки не обязан возвращать последовательные числа. Во-вторых. Стоит ли переживать из-за различий между C2035B и C204 среди десятка пользователей по недоразумению прошедших твою "регистрацию"?
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852469
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Человек отправляет заявку, получает номер 290 - и отправляет ещё десяток заявок, чтобы получить номер 300.
Если номер будет рандомный, то мотивов так делать у него не будет.Высосанная из пальца проблема - измышлизмЪ.
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852482
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Человек отправляет заявку, получает номер 290 - и отправляет ещё десяток заявок, чтобы получить номер 300.
Если номер будет рандомный, то мотивов так делать у него не будет.

использовать dbms_random

1) выдавать последовательно случайные номера из "дипозитария" (table dropme_t)
2) генерить номер налету (если дубль - повторить, імхо гемороя больше)

.....
stax
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852503
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicВысосанная из пальца проблема - измышлизмЪ.
На обработку заявок тратится время и организационные ресурсы, пусть и немного.
Лучше изначально исключить такие траты.

Staxгенерить номер налету (если дубль - повторить
Это не подойдет.
Допустим из 10к строк использовано 9990. Сколько будет повторений, чтобы получить оставшиеся 10?
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852520
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Это не подойдет.
Допустим из 10к строк использовано 9990. Сколько будет повторений, чтобы получить оставшиеся 10?

авторімхо гемороя больше

.....
stax
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852568
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderAlibek B.,
Sys_guid используйте вместо сиквенсов и все проблемы исчезнут
В означенной постановке (регистрируются клиенты) поддерживаю полностью.
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852626
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если речь идет о регистрации (каждый сотый получает приз)
я б генерил случайное число от 0 до 100
и если оно равно 7, то получи приз

....
stax
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852641
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stax,

Если ты генеришь каждый раз случайное число, то сомневаюсь, что каждый сотый получит приз.
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852642
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxесли речь идет о регистрации (каждый сотый получает приз)
я б генерил случайное число от 0 до 100
и если оно равно 7, то получи приз
Это ни коим образом не избавляет от заявленного ТС метода "охоты за призом" посредством многократной регистрации.
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852648
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Staxя б генерил случайное число от 0 до 100
и если оно равно 7, то получи призНет, 42 лучше.
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852652
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymousЭто ни коим образом не избавляет от заявленного ТС метода "охоты за призом" посредством многократной регистрации.
я понял проблему многократной регистрации чуть по другому

колиент догадался о системе определения выиграша (ид кратно 100), и если у него 297 то достаточно еще трех раз

если генерить, то приз может выпасть и напр два раза подряд, а может и за 100 не повезет

.....
stax
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852654
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123ййStax,

Если ты генеришь каждый раз случайное число, то сомневаюсь, что каждый сотый получит приз.

не сотый, а примерно сотый, если равноменое распределение от 0 до 100

....
stax
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852656
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123ййЕсли ты генеришь каждый раз случайное число, то сомневаюсь, что каждый сотый получит приз.
"Каждый сотый по порядку" - это не случайное число.
а вот "Один из ста" - вполне себе.
И в этом случае все зависит от качества ГСЧ.
В случае dbms_random все не так уж и плохо:
Код: plsql
1.
2.
3.
4.
5.
select v, count(*)
     , stdDev(count(*)) over() 
     , median(count(*)) over() 
     , avg(count(*)) over() 
  from t group by v
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852658
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ElicStaxя б генерил случайное число от 0 до 100
и если оно равно 7, то получи призНет, 42 лучше.

согласен 42 лучше
чем луче? чем 7

....
stax
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852662
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StaxElic42 лучше.
чем луче? чем 7

Вопрос филисофский.
42 - уже ставший классическим ответ на «Главный вопрос жизни, вселенной и всего такого» (англ. The Ultimate Question of Life, the Universe, and Everything)
7 - число простое, но тоже нетривиальное: семь чудес света, 7 дней (неделя) на сотворение мира, семь цветов радуги и много еще чего 7... в общем, "удачное" такое число.
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852669
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous"Каждый сотый по порядку" - это не случайное число.
а вот "Один из ста" - вполне себе.
а зачем нужно случайное число ?
Alibek B.Регистрируются клиенты, получают уникальный номер и затем используют этот номер в разных местах.
Если эти номера будут не случайными, а последовательными, то это будет нежелательным. Планируются сценарии типа "подарок каждому сотому клиенту" и последовательная нумерация будет приводить к попыткам манипулирования.
вполне достаточно mod
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852673
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123ййвполне достаточно mod
мод от чего?
....
stax
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852676
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для проверок типа "каждый сотый" разумеется будут использоваться свои собственные счетчики (критерии), поэтому способ выделения номеров может быть любым, хоть последовательный, хоть рандомный.
Но если он будет последовательный, то пользователи будут думать, что призовым будет номер, оканчивающийся на два нуля, и будут пытаться его получить. Ну либо будут пытаться получить красивый номер из каких-то других соображений.
Чтобы таких мотивов у них не было, я хочу выдавать рандомные номера.
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852679
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Чтобы таких мотивов у них не было, я хочу выдавать рандомные номера.
Выдавайте GUID.
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852685
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это будет неудобно уже для пользователей.
Номер будет одновременно являться и лицевым счетом.
При пополнении лицевого счета не составит проблемы запомнить и ввести 4 или 5 цифр.
Но запомнить 32 шестнадцатеричных чисел сможет не всякий, и даже ввести их без ошибки получится не всегда.
...
Рейтинг: 0 / 0
Получить случайную строку из выборки
    #39852686
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Это будет неудобно уже для пользователей.
Выдавайте карточку или QR-код с GUID-ом.
...
Рейтинг: 0 / 0
25 сообщений из 85, страница 2 из 4
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Получить случайную строку из выборки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]