Не получается написать нужный 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;
→ Ссылка