2 count по одному столбцу с разными условиями sql
у меня есть такой запрос
SELECT name_book, yers, name_publisher,count(copy_book.id_book)as cnt_a FROM book
left join publishing_house
ON book.id_publisher = publishing_house.id_publisher
left join copy_book
on book.id_book = copy_book.id_book
group by book.id_book
Который добавляет столбец общего количества. Как мне добавить еще один столбец суммы с таким условием
on book.id_book = copy_book.id_book and availability_in_library=1
Ответы (1 шт):
Автор решения: Akina
→ Ссылка
Условное агрегирование называется.
SELECT name_book,
yers,
name_publisher,
count(copy_book.id_book)as cnt_a,
SUM(availability_in_library=1) AS cnt_b
FROM book
left join publishing_house ON book.id_publisher = publishing_house.id_publisher
left join copy_book on book.id_book = copy_book.id_book
group by book.id_book