У меня есть таблица, расходные материалы, в котором перечислены цены на элементы из разных поставщиков:Исключить столбец из группы К
| ID | Item | Price | Supplier |
ID является первичным ключом (только автоматически сгенерированным целого). Продукт - название продукта. Цена - это цена продукта. Поставщик - это внешний ключ (целочисленный).
Я хочу перечислить самую дешевую цену и поставщика по каждому товару.
Я относительно новым для баз данных и до сих пор я получил это:
SELECT Name, MIN(Price), Supplier FROM Supplies GROUP BY Name
Это, конечно, дает мне ошибку, что
Поставщик не является в агрегатной функции или group by.
Я сделал несколько поисковых запросов Google и прочитал немало статей и ответов на эту тему, но все они кажутся для гораздо более сложных ситуаций, чем у меня, и смущают меня (как сказано, у меня нет большого опыта с базами данных и SQL), или они просто говорят об ошибке, а не о том, как обойти ее.
Любая помощь будет оценена по достоинству. Заранее спасибо.
Какие СУБД вы используете? –
Если две или более цены одинаковы, вы хотите использовать логику тай-брейка? –
Использование HSQLDB. Если две или более цены одинаковы, я бы предпочел, чтобы они отображали оба. –