Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как выкинуть половину записей случайным образом? / 4 сообщений из 4, страница 1 из 1
25.02.2004, 10:42
    #32420394
Evgeniy1973
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выкинуть половину записей случайным образом?
В таблице порядка 6-20 записей.
нужно выкинуть половину. Желательно случайным образом.
Кто может дать совет какой код?
В голову приходит только тупо раз 10 написать удаление максимального или минимального элемента , и считая сколько значений осталось в таблице выполнять или не выполнять удаление.
Но как то не нравится такой путь и удаление не случайное.
...
Рейтинг: 0 / 0
25.02.2004, 14:45
    #32420983
shurale
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выкинуть половину записей случайным образом?
Это не случайное и даже не псевдослучайное удаление. Так ты "отгрызёшь" крайние по какому-то параметру записи.

Навскидку могу предложить в цикле n/2 раз вычислять случайное целое число в интервале от 1 до текущего количества записей в таблице и стирать запись с соответствующим rowid. n - начальное количество записей.
...
Рейтинг: 0 / 0
25.02.2004, 15:25
    #32421097
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выкинуть половину записей случайным образом?
авторВ таблице порядка 6-20 записей.
нужно выкинуть половину. Желательно случайным образом.
Поделишься травкой?


Delete from mytable Where mod(rowid,2)=0
...
Рейтинг: 0 / 0
25.02.2004, 15:38
    #32421134
Daugava
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как выкинуть половину записей случайным образом?
Да трава видимо действительно забористая :-). Без дополнительных сведений сложно что-либо посоветовать. На счет rowid стоит учесть, что:
А. rowid может и не быть.
Б. Даже если он есть, не обязательно будет идти подряд без пропусков, поэтому если требуется обязательное удаление ровно половины записей, то оба предложенных вараинта не сработают.
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Как выкинуть половину записей случайным образом? / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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