2014-01-22 3 views
1

У меня есть следующая таблицаSQL AVG на столе

enter image description here

Я пытаюсь получить среднюю цену для каждого prod_type_desc, у меня есть следующий код, который получает меня здесь, но не могу понять, остальное ,

select * from (select price, prod_type_desc from products NATURAL JOIN producttypes NATURAL JOIN refproducttypes) as a 

Я пробовал select AVG(price), prod_type_desc from above, но это не сработает.

+2

Спасибо за показ выборочных данных. В будущем, пожалуйста, сделайте это с * текстом *, а не снимок экрана, хотя - даже лучше, 'CREATE TABLE' и' INSERT'. Не забывайте упоминать о своей версии PostgreSQL и в вопросах. –

ответ

2

Вы должны использовать GROUP BY на product_type_desc

select prod_type_desc, avg(price) from products group by prod_type_desc 
+0

Спасибо, я не могу поверить, что мне просто не хватало группу – jg943

+0

Вы должны включить группу, когда используете общие функции вместе с выбором столбцов. – Coderchu

0

Это заявление должно работать,

select prod_type_price, avg(price) from products group by prod_type_price