SQL Случай Impala, когда минимумы - PullRequest
0 голосов
/ 11 июля 2020

см. данные здесь

Я хочу сделать запрос со случаем, когда и минимальной агрегатной функцией, но продолжаю получать ошибки.

Я пытаюсь найти минимальное ( EBP ), где EBP > = Стоимость проезда иначе мин. Всего EBP (группировка по дате)

Например, 1 января EBP равно 12, минимальное значение EBP , которое больше или равно тариф и 2 января no EBP больше, чем тариф, поэтому EBP 5

Это кажется достаточно простым, но я получаю либо ошибки, либо неправильные минимальные значения. Заранее благодарим за помощь!

1 Ответ

1 голос
/ 11 июля 2020

Вы можете использовать агрегирование следующим образом:

select date,
       coalesce(min(case when epb > fare then epb end), min(epb)) as epb,
       fare
from t
group by date, fare
...