Я пытаюсь сложить числа из суммы, если booking_id совпадает. У меня были проблемы с суммированием этих чисел, а также с добавлением предложения WHERE.
Это мой код до сих пор
В настоящее время он правильно суммирует числа, хотя, если я добавлю туда, где он не показывает никаких результатов
select *, Sum(amount) FROM payment group by booking_id where booking_id = 1
Я пробовал некоторые методы, такие как добавление запросов в запросы, но мне не повезло. Результаты, которые я пытаюсь получить, приведены ниже.
booking_id amount
----------------------
1 | 5
2 | 6
1 | 6
3 | 2
3 | 3
4 | 4
Выход должен быть:
booking_id amount
----------------------
1 | 11
2 | 6
3 | 5
4 | 4
Я пытаюсь сгруппировать результаты так, чтобы booking_id со значением 1 вернул сумму 5 + 6.
Моя цель - иметь возможность суммировать суммы с одинаковым идентификатором бронирования. А также чтобы иметь возможность включить предложение WHERE в этот запрос
Чтобы получить все booking_id по запросу, просто пропустите WHERE
:
select booking_id, Sum(amount)
FROM payment
group by booking_id
Чтобы получить все booking_id для определенного идентификатора (как будет запрошено позже), добавьте WHERE
:
select booking_id, Sum(amount)
FROM payment
where client_id = 123
group by booking_id
Где должно быть перед группой
select booking_id , Sum(amount) FROM payment
where booking_id = 1
group by booking_id
Вы сделали неправильно только для того, чтобы написать sql
select booking_id, Sum(amount) FROM payment
where client_id = 1 -- your condition
group by booking_id