У меня есть 2 таблицы:
У каждого писателя есть список книг, которые она написала. Я хочу, чтобы все авторы писали о количестве книг, которые каждый из них написал. Есть ли способ сделать это в одном запросе?
Я считаю, что это сработает для вас. Не уверен, есть ли более эффективный способ:
select id, (select count(*) from books where books.writer_id = writers.id ) count from writers
Я предпочитаю следующую не-вложенную версию:
SELECT
writers.id,
writers.name,
count(books.*) as BookCount
FROM
writers
LEFT JOIN books ON writers.id = books.writer_id
GROUP BY
writers.id,
writers.name