Случайный образец SQL с оператором Case When (Teradata) - PullRequest
0 голосов
/ 26 октября 2018

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

Это упрощенная версия запроса, над которым я работаю.В этом примере мне нужно вернуть всего 300 записей, 100, где уровень = 1, и 200, где уровень = 2.

Я не уверен, возможно ли это с функцией Sample.

 SELECT 
 ID,
 TIER

 FROM TIERTABLE a

 SAMPLE CASE WHEN TIER = 1 
 THEN 100
 WHEN TIER = 2
 THEN 200 END 

1 Ответ

0 голосов
/ 26 октября 2018

Ты рядом :-) Просто убери CASE

SELECT 
   ID,
   TIER

FROM TIERTABLE a

SAMPLE
   WHEN TIER = 1 THEN 100
   WHEN TIER = 2 THEN 200
END 
...