Есть две таблицы:
images:
create table images
(
id serial not null
constraint images_pk
primary key,
image_url varchar(60) not null,
autor_id integer not null,
views integer,
rating numeric
);
и votes:
create table votes
(
id serial not null
constraint votes_pk
primary key,
image_id integer not null,
user_id integer not null,
value integer not null
);
и вот такой запрос:
select image_url, (select avg(votes.value))
from images
inner join votes on votes.image_id = images.id
group by image_url
order by views asc
Который должен вытащить ссылку к изображению и его средний рейтинг из таблицы votes. Поскольку в таблице с голосами image_url повторяется - сделал group by image_url, но получаю ошибку
column "images.views" must appear in the GROUP BY clause or be used in an aggregate function
. В чем может быть проблема?
Пробовал установить в gprup by разные значения, но ошибка все равно остается, только поле в ней меняется. Например:
group by images.views
-column "images.image_url" must appear in the GROUP BY clause or be used in an aggregate function