MIN с использованием языка SQL - PullRequest
       8

MIN с использованием языка SQL

0 голосов
/ 25 сентября 2018

У меня есть вопрос с использованием функции MIN в SQL:

У меня есть вопрос, Список pids, pnames, и минимальная стоимость этой детали среди всех поставщиков, поставляющих детали по убываниюзаказ минимальной стоимости.Подсказка: используйте предложение group by.

У меня есть таблицы:

Поставщики (sid: int, sname: VARCHAR (30), адрес: VARCHAR (50))

Детали (pid: int, pname: VARCHAR (30), цвет: VARCHAR (10))

Каталог (sid: int, pid: int, стоимость: double)

Мой текущий код выглядит следующим образом:

select distinct p.pid, p.pname, min(c.cost) from Parts p 
    left join catalog c on p.pid=c.pid 
    group by c.cost desc;

Мой результат должен распечатывать каждую часть только один раз, но в этом случае каждая часть распечатывается много раз с различными затратами.Я не уверен, правильно ли я использую функцию min, но как мне создать этот SQL-запрос, чтобы я мог получить минимальную стоимость детали среди всех поставщиков?Я неправильно использую функцию MIN или у меня проблема в остальной части моего запроса.

1 Ответ

0 голосов
/ 25 сентября 2018

Попробуйте это: вам нужно сгруппировать, используя pid и pname, так как стоимость - это ваш агрегированный столбец, поэтому она не требуется в группе по cluase

select p.pid, p.pname, min(c.cost) from Parts p 
    left join catalog c on p.pid=c.pid 
    group by p.pid, p.pname
...