Случайная выборка SQL на основе минимумов для двух группировок - PullRequest
0 голосов
/ 19 июня 2019

У меня есть набор данных оповещений, которые обрабатываются сотрудниками.Каждое предупреждение также приходит от определенного сценария.Меня попросили предоставить случайную выборку из 60 предупреждений от всей совокупности, однако выборка должна включать следующее:

  1. Выборка должна содержать все сценарии в совокупности.Например, если в прошлом месяце было 1000 предупреждений, и из этих 1000 предупреждений было 15 сценариев, которые их включали, я хотел бы убедиться, что по крайней мере 1 из каждого сценария был в моей выборке контроля качества из 60 счетчиков.

  2. Клиент хочет убедиться, что образец QA с 60 счетами также содержит не более 5 предупреждений на сотрудника или 100%, в зависимости от того, что меньше.Например, если сотрудник сработал 4 или менее предупреждений, мы хотим, чтобы все они были в выборке, независимо от того, какими сценариями они были.Если у них было 5 или больше, нам просто нужно вернуть 5.

Таким образом, выборка выполняется в два раза - мне нужно убедиться, что мы получили 60 случайных выборок, охватывающих все сценарии, но убедитесь, что мы получаем 5 макс. Или 100% от числа отработанных предупреждений каждого сотрудника.

Данные будут выглядеть примерно так:

Alert_ID      Scenario      Employee_Name      Etc....
00001         A             John Smith         ....
00002         A             John Smith         ....
00003         B             Jane Doe           ....
00004         C             John Smith         ....

Я не могу опубликовать набор данных по определенным причинам, но набор данных составляет порядка ~ 20 000 предупреждений в месяц, поэтомуЯ вытягиваю эти 20 КБ, и оттуда мне нужно сделать выборку из этой популяции в соответствии с вышеизложенным.Какие-либо предложения?Заранее спасибо!

Кстати, я использую IBM Netezza и Aginity в качестве IDE для этой разработки.Спасибо!

...