Mysql группировка с MIN()
пишу MYSQL запрос который должен выводить самые дешевые товары, сгруппированные по полю name и у которых count > 0
Вот сам запрос:
SELECT `s1`.*
FROM `products` AS `s1`
JOIN (
SELECT `name`, MIN(`price`) AS `price`
FROM `products`
WHERE `category`=1
GROUP BY `name`) AS `s2`
ON `s1`.`name` = `s2`.`name` AND `s1`.`price` = `s2`.`price`
WHERE `category`=1 LIMIT 0, 25
Не пойму куда вставить count>0, чтобы выводился сгруппированный товар с наименьшей ценой у которого количество (поле count) больше 0 (если такой имеется), если такого нет, то просто с наименьшей ценой
[перемещено из комментария]
Версия сервера: 5.5.64-MariaDB
CREATE TABLE IF NOT EXISTS products (
id int(20) unsigned NOT NULL,
category varchar(200) NOT NULL,
name varchar(128) NOT NULL,
price decimal(10,2) NOT NULL,
count int(4) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8;