TSQL случайная выборка - PullRequest
0 голосов
/ 23 мая 2018

Мне нужно выбрать случайную выборку с помощью TSQL из таблицы на основе соотношений двух разных переменных в таблице.

Требуемая случайная выборка составляет приблизительно 8000 записей из таблицы с приблизительно 381 000 записей.Случайная выборка должна иметь приблизительные соотношения 2 переменных:

4: 1 (мужчина / женщина) - переменная 2 категории 4: 3: 2: 1 (тяжелая / средняя / легкая / очень легкая) - переменная 4 категории

1 Ответ

0 голосов
/ 23 мая 2018

Разбейте его на сколько из каждого

select top (640) * 
from table 
where sex = 'f' 
  and cat = 'heavy' 
order by NewID() 
union all
select top (480) * 
from table 
where sex = 'f' 
  and cat = 'medium' 
order by NewID()  
...

4 + 1 = 5
4 + 3 + 2 + 1 = 10
640 = 8000/5 * 4/10

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...