powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как случайным образом отсортировать результаты обработки запроса?
25 сообщений из 32, страница 1 из 2
Как случайным образом отсортировать результаты обработки запроса?
    #32432710
Baru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Люди помогите, как можно случайным образом отсортировать результат Select?
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32432730
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ORDER BY RANDOM , где RANDOM - UDF.
Брать на ibase.ru
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32432736
Igor Elyas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оригинально
обычно наоборот сортируешь по каким то критериям.

вообще ответа я не знаю но наверно можно если руками проставить за место использования индексов NATURAL'ы то получишь достаточно случайную выборку, правда есть недостаток - про скорость лучше не спрашивать, при условии конечно что нет GROUP BY иначе зараза все равно отсуртирует .
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32432737
Baru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Большое спасибо
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32432744
Baru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В MS SQL эту проблему решают так
select * from RRR order by newid()
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32433211
Andrew Kruchinin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В MS SQL эту проблему решают так
select * from RRR order by newid()


Извращение. Ты базу делаешь или что? Случайная сортировка - я такое первый раз в жизни слышу...

А если что то можешь попробовать на свой страх и риск RDB$DB_KEY, хотя это не совсем случайная получится сортировка, но все-таки...
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32433896
Baru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторAndrew Kruchinin
Извращение. Ты базу делаешь или что? Случайная сортировка - я такое первый раз в жизни слышу...
Этот метод предложил Деян Сарка, который преподает SQL Server в Словении

авторМимопроходящий
ORDER BY RANDOM
Это не работает!
Я сделал так:
select Random(3000), ...
from table
order by 1
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32434291
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что значит не работает?! Подробно.
Функцию откуда брал и как декларировал?
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32438924
Andrew Kruchinin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Этот метод предложил Деян Сарка, который преподает SQL Server в Словении


Да нет, предложить можно что угодно, но я просто непонимаю ЗАЧЕМ это нужно? Игрушки на базах делать? Я только для этого могу придумать такое решение. Или я слова "База Данных" неправильно понимаю? Я, если честно, и правда ву раздумьях по поводу своих мировоззрений сейчас уже...
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32439114
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
например, на этом может быть основана баннерная система - показывает случайные баннеры...
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32439115
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и вообще, главное - чтобы не было догм. никакая база данных не удовлетворяет всем-всем-всем определениям РСУБД, имхо...
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32439131
Andrew Kruchinin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и вообще, главное - чтобы не было догм. никакая база данных не удовлетворяет всем-всем-всем определениям РСУБД, имхо...

Согласен. Ни что так не убивает программиста как догмы и нежелание читать документацию ;-)
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32439215
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторЭто не работает!
Я сделал так:
select Random(3000), ...
from table
order by 1

Зависит от версии сервера. В FB 1.5 пример Мимопроходящего будет работать.
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32439508
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И в 1.0 это работало тоже. С функцией от Кузьменко.
Посему и удивляюсь...
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32440747
Baru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор МимопроходящийЧто значит не работает?! Подробно.
Функцию откуда брал и как декларировал?

Библиотека RandomUDF с ibase.ru

Функция GetRandom(Int);

Запрос:
select * from Table order by GetRandom(30)

Ошибка:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, char 42.
(.
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32440855
Baru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор Andrew KruchininИзвращение. Ты базу делаешь или что? Случайная сортировка - я такое первый раз в жизни слышу...

БД для тестирования студентов, вопросы должны выводится в разном порядке.
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32440923
Andrew Kruchinin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
БД для тестирования студентов, вопросы должны выводится в разном порядке.

Хм, а я бы через ХП сделал просто. И тогда не нужно таких мучений. Но это каждому свое.
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32441775
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторselect * from Table order by GetRandom(30)
Ошибка:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, char 42.
Кто-то кому-то парит мозги...
Покажи DDL, которым декларировал UDF.
У тебя точно FireBird?
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32442070
Baru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор МимопроходящийКто-то кому-то парит мозги...
Покажи DDL, которым декларировал UDF.
У тебя точно FireBird?

DECLARE EXTERNAL FUNCTION GETRANDOM
INTEGER
RETURNS INTEGER BY VALUE
ENTRY_POINT 'GetRandom' MODULE_NAME 'randomudf'

и так пробовал,

DECLARE EXTERNAL FUNCTION GETRANDOM
INTEGER
RETURNS
DOUBLE PRECISION BY VALUE
ENTRY_POINT 'GetRandom' MODULE_NAME 'randomudf'

Стоит Firebird 1.0.2
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32442108
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выполни запрос и посмотри что получается:
Код: plaintext
SELECT GETRANDOM( 300 ) FROM RDB$DATABASE;
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32442123
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Граждане, а может кто-нибудь знает алгоритм как внутри цикла в PSQL можно получать случайные числа только средствами сервера?
Естественно, чем ближе распределение к нормальному закону, тем лучше.
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32442128
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты хочешь от сервера то, чего он не умеет, да ещё и требуешь, чтоб распределение было близко к нормальному закону
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32442156
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну мжет как-то можно перебирать RDB$DB_KEY, загонять его в число как нибудь, умоножить всё это на номер транзакции и вычесть текущее время :-)
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32442164
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И попытаться доказать, что распределение получится нормальным
...
Рейтинг: 0 / 0
Как случайным образом отсортировать результаты обработки запроса?
    #32442211
aPT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНу мжет как-то можно перебирать RDB$DB_KEY, загонять его в число как нибудь, умоножить всё это на номер транзакции и вычесть текущее время :-)
Это будет уже ненормальное распределение.
...
Рейтинг: 0 / 0
25 сообщений из 32, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как случайным образом отсортировать результаты обработки запроса?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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