Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите с задачей SQL

Кирилл Зиновьев Ученик (94), открыт 2 дня назад
Для каждого клиента выведите разность суммы запрошенных кредитных средств по всем заявкам и суммы выданных кредитных средств по всем заявкам. Отсортируйте выборку по убыванию разности. Известно, что в таблице нет значений NULL. В выборке должны присутствовать два атрибута: CLIENT_ID, diff.
1 ответ
ольга бартенева Знаток (288) 2 дня назад
Предположим, у вас есть таблица, которая называется loans, и она содержит хотя бы следующие колонки:

- CLIENT_ID - идентификатор клиента

- REQUESTED_AMOUNT - сумма запрошенных кредитных средств

- ISSUED_AMOUNT - сумма выданных кредитных средств

Тогда для решения вашей задачи можно использовать следующий SQL-запрос:

```
SELECT
CLIENT_ID,
SUM(REQUESTED_AMOUNT) - SUM(ISSUED_AMOUNT) AS diff
FROM
loans
GROUP BY
CLIENT_ID
ORDER BY
diff DESC;
```

### Пояснение:

- **SELECT CLIENT_ID, SUM(REQUESTED_AMOUNT) - SUM(ISSUED_AMOUNT) AS diff**: здесь мы выбираем идентификатор клиента и рассчитываем разность между суммой запрошенных и выданных кредитных средств, присваивая ей алиас diff.

- **FROM loans**: определяем, что данные берутся из таблицы loans.

- **GROUP BY CLIENT_ID**: группируем результаты по CLIENT_ID, что позволяет нам получить итоговые суммы для каждого клиента.

- **ORDER BY diff DESC**: сортируем результаты по убыванию разности diff.

Этот запрос вернет таблицу с двумя атрибутами — CLIENT_ID и diff, отсортированную по убыванию разности.
Похожие вопросы