Выборка записей случайным образом
-
- Участник
- Сообщения: 67
- Зарегистрирован: 27 ноя 2009, 14:09
- Репутация: 0
Выборка записей случайным образом
Подскажите, пожалуйста, как выбрать случайным образом 100 записей (точечных объектов) из таблицы?
- Игорь Белов
- Гуру
- Сообщения: 2229
- Зарегистрирован: 04 янв 2011, 22:00
- Репутация: 1501
- Откуда: Казань
Re: Выборка записей случайным образом
Один из способов:
- в окне MapBasic ввести команду Randomize
- изменить структуру таблицы: добавить колонку Rand типа Float
- заполнить колонку Rand значениями rnd(1)
- сделать выборку с сортировкой по полю Rand
- сохранить копию выборки в новую таблицу
- открыть новую таблицу
- сделать выборку из новой таблицы по условию RowID <= 100
The purpose of computing is insight, not numbers
-
- Участник
- Сообщения: 67
- Зарегистрирован: 27 ноя 2009, 14:09
- Репутация: 0
Re: Выборка записей случайным образом
А через запрос как-нибудь можно?
-
- Участник
- Сообщения: 67
- Зарегистрирован: 27 ноя 2009, 14:09
- Репутация: 0
Re: Выборка записей случайным образом
Спасибо. Все работает и желаемое достигается
-
- Гуру
- Сообщения: 4205
- Зарегистрирован: 10 апр 2006, 22:34
- Репутация: 433
- Откуда: Париж
Re: Выборка записей случайным образом
можно, но только через ДВА:romir писал(а):А через запрос как-нибудь можно?
Код: Выделить всё
Select CAD_NUM,rnd(1)*1000 from KU_5033 order by 2 into Q001
Browse * From Q001
Select * from Q001 where rowid<=100 into Q002
Browse * From Q002
Код: Выделить всё
Select CAD_NUM from KU_5033 where rnd(1)<(100/int(TableInfo("KU_5033",8))) into Q001
Browse * From Q001
-
- Участник
- Сообщения: 67
- Зарегистрирован: 27 ноя 2009, 14:09
- Репутация: 0
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 17 гостей