2016-03-04 2 views
2

У меня есть таблица с двумя столбцами. Один имеет рейтинги INT 1-5, а другой - VenueId. Я хочу найти среднее значение в рейтингах, где объекты VenueId совпадают. У меня средний показатель работы, когда я идентифицирую VenueId, но не знаю, как t называть все равные значения VenueIds.MySQL Find Average на ids, которые соответствуют

connection.query("SELECT AVG(rating) AS value_sum FROM reviews  
    WHERE VenueId = 542", {model: Review}).then(function(projects){ 
    console.log(projects) 
}); 
}); 
+0

Вы должны прочитать немного об использовании агрегаторов, как 'GROUP BY'. Легко работать с небольшим количеством игр в командной оболочке SQL. Счастливое обучение! –

+0

Образец данных и желаемые результаты были бы полезны ... – sgeddes

+0

Я расскажу об агрегаторах, можете ли вы объединить WHERE и GROUP BY или GROUP BY заменить WHERE? mysql> SELECT rating FROM reviews WHERE VenueId = 542; + -------- + | рейтинг | + -------- + | 5 | | 4 | | 4 | + -------- + 3 ряда в наборе (0,00 сек) mysql> SELECT AVG (рейтинг) AS value_sum FROM reviews WHERE VenueId = 542; + ----------- + | value_sum | + ----------- + | 4.3333 | + ----------- + –

ответ

1

Мы должны использовать группу по с агрегатной функцией здесь:

select venueId, avg(rating) as average 
from reviews 
group by venueId 
+0

Я до сих пор не знаю, какими должны быть ожидаемые результаты, но вы не видите предложение 'from' здесь. – sgeddes

+0

* facepalm * .. Добавлено предложение о форме сейчас :) –

+0

Похоже, что это было! –

Смежные вопросы