Не получается написать нужный sql запрос
У меня в базе есть две таблицы: categoties и products. Пытаюсь написать запрос, чтобы получить название категории, в которой находится максимальное количество товаров и вывести количество этих товаров. Категории с количеством товаров получаю, а как дальше не понятно.
'SELECT categories.name, COUNT(products.id) FROM products, categories WHERE products.category_id = categories.id GROUP BY categories.name'
Ответы (1 шт):
Автор решения: Макс Максимус
→ Ссылка
Можно отсортировать полученную выборку по убыванию по колонке, содержащей количество продуктов в категории и ограничить выборку 1 строкой с помощью оператора LIMIT. Таким образом в выборку попадет одна категория, содержащая наибольшее количество товаров. Так же, лучше использовать JOIN:
SELECT categories.name as category_name, COUNT(products.id) as products_cnt FROM categories
INNER JOIN products ON products.category_id = categories.id GROUP BY categories.name
ORDER BY products_cnt DESC LIMIT 1;