мне нужно запросить таблицу, в которой есть столбец «гендер», например, так:Как выбрать различные проценты данных на основе значения столбца?
| id | gender | name | ------------------------- | 1 | M | Michael | ------------------------- | 2 | F | Hanna | ------------------------- | 3 | M | Louie | -------------------------
И мне нужно, чтобы извлечь первые результаты N, которые имеют, например, 80% мужчин и 20% женщин. Итак, если бы мне понадобилось 1000 результатов, я бы хотел получить 800 мужчин и 200 женщин.
Возможно ли это сделать в одном запросе? Как?
Если у меня недостаточно записей (представьте, что у меня всего 700 мужчин на примере выше), можно ли автоматически выбрать 700/300?
Для сценария 2, что должно произойти? –
Я отредактировал свой ответ, чтобы лучше объяснить себя. –
К сожалению, я не знаю достаточно SQL, чтобы дать ответ в терминах кода, но я могу дать логику: Я бы предложил SP и имел значение N (номер, который вы выбираете) и принимаете n * .8 и выберите, где пол - M, подсчитайте свои строки, возвращаемые как numResultsMale, и выберите N- (numResultsMale), где пол: F –