Я пытаюсь найти дубликаты и выбрать результат с наименьшей комбинацией значений в таблице.MySQL Выберите дубликаты с условием LEAST
До сих пор я могу только выбрать результат, который имеет самое низкое значение в столбце, используя MIN(). Я думал, что будет легко просто заменить MIN на LEAST и изменить столбцы.
Вот макет:
CREATE TABLE `index`.`products` (`id` INT NOT NULL AUTO_INCREMENT , `name` VARCHAR(10) NOT NULL , `price` INT NOT NULL , `availability` INT NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;
INSERT INTO `products` (`id`, `name`, `price`, `availability`) VALUES
(NULL, 'teste', '10', '1'),
(NULL, 'teste', '5', '2'),
(NULL, 'teste', '3', '3');
упрощенный макет
id - name - price - availabilty
1 - test - 10 - 1
2 - test - 5 - 2
3 - test - 3 - 3
с помощью следующего запроса:
select name, MIN(price) from products group by name having count(*) > 1
получает мне самую низкую цену. Я пытаюсь получить самую низкую цену и самую низкую доступность.
select name, LEAST(price, availability) from products group by name having count(*) > 1
Это не работает.
Уточнение: я хочу выбрать строку с самой низкой ценой и самой низкой доступностью. В этом случае это должно быть первое, что я предполагаю.
я clarifity, что 1 = да, 2 = нет и 3 = скоро
Смотреть Http: // мета. stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-query – Strawberry
Кто упрекает этот материал? – Strawberry
Почему первый? Цена составляет 10 ... –