Я создаю веб-сайт, на котором люди отправляют текстовые сообщения. пользователи могут оценивать сообщения (от 1 до 5). Я записываю эти рейтинги в таблице:SQL Server: получите количество и количество столбцов
- избежать многократного рейтинга одного пользователя на тот же пост
- , чтобы иметь возможность получить средний рейтинг должности.
, но также важно также количество голосов. например, должность, имеющая 10 голосов из 3 (составляет 30), является ценной, чем должность с 2 голосами 5 (что составляет 10). Теперь, когда я показываю страницу с 20 этого сообщения, я хочу, чтобы показать их рейтинг слишком
Это моя рейтинговая таблица:
create table ratings(
[id] int primary key identity(1,1),
[msgid] int,
[uid] int,
[rating] tinyint
)
Я хочу, чтобы добраться до 20 сообщений из таблицы сообщений с суммой рейтингов для каждого сообщения и количества оценок для каждого сообщения.
select
msg.id, msg.text,
sum(rate.rating),
count(rate.id)
from
messages as msg
inner join
ratings as rate on msg.id = rate.msgid
group by
msg.id
Может любой, пожалуйста, помогите мне с кодом запроса SQL?
Покажите нам усилия, которые вы уже положили в решении этого - объяснить, где вы застряли, и мы будем рады помочь. Но мы не просто пишем код для вас .... –
Я отредактировал свой вопрос и добавил код, который я пробовал –
И в чем проблема с вашим кодом? Вы получаете ошибку - если да: ** какая ** ошибка? Не возвращает ли он ожидаемые данные - то, что ** ** вы ожидали? –