avatar
Мир аналитика данных
@analysts_world
30.01.2024 12:49
🌟 Часто ли вы используете case? Эта конструкция используется в SQL запросах. А еще ее можно оборачивать в агрегирующую функцию. Приведу рабочий пример. Нам нужно посчитать сумму выручки в рублях. Тут я не пишу группировку и т.п. Разберем именно как считается в select эта сумма с помощью case.

Select sum(case 
when currency = 'RUB' then amount
when currency = 'RUR' then amount
else (amount * rate) end) as 'all_sum'


В when мы задаем условие и то, что нам нужно получить при его выполнении. Если валюта указана рублевая (RUB или RUR), то просто берем эту рублевую сумму.

А вот если валюта другая, то в else мы умножаем сумму на курс, то есть выполняем то, что условию не соответствует. В конце после end прописываем алиас as - то есть как будет называться столбик.

А еще в результате после then также можно делать расчеты (умножать, делить и т.п).

💡Об этом и о многом другом буду рассказывать на курсе 1го числа, который стартует уже в этот четверг.
Но и ВАС я не оставлю без знаний конечно. emoji Смотрите на скрине из занятий как можно использовать case, группировку, вложенный запрос, фильтрацию where и сортировку. И все в одном запросе!
👍 17
2
6 12 2.4K

Обсуждение 6

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram