MYSQL SUM () возвращает 10 лучших значений - PullRequest
0 голосов
/ 21 августа 2011

Я пытаюсь найти СУММУ из 7 числовых полей, чтобы найти итоговое значение, КОМБИНИРОВАННОЕ с выводом для отображения ПРЕДЕЛА 10 результатов. ЗАКАЗАТЬ ПО итогу каждого СУММЫ.

Вот мой код СУММ, которыйработает сам по себе, но я не уверен, как использовать два запроса вместе, продолжаю получать синтаксические ошибки.

SUM(comfort + service + ambience + friendliness + spacious + experience + toilets)/(7)/COUNT(shop_id) AS total FROM ratings GROUP BY shop_id

Это мой запрос SQL для нормального возврата данных:

SELECT * FROM pubs, services, ratings
WHERE pubs.shop_id=services.shop_id AND pubs.shop_id=ratings.shop_id
GROUP BY shop_name
ORDER BY shop_name ASC

У меня нет 7 значений, хранящихся в моей базе данных, я использую вышеуказанный запрос SUM, чтобы найти сумму.Спасибо

1 Ответ

1 голос
/ 21 августа 2011

Попробуйте использовать

SELECT pubs.*, services.*, sum(temp.total) as final_total FROM pubs inner join services on pubs.shop_id=services.shop_id
inner join (
select 
SUM(comfort + service + ambience + friendliness + spacious + experience + toilets)/(7) /COUNT(shop_id) AS total, shop_id FROM ratings GROUP BY shop_id
) as temp on pubs.shop_id=temp.shop_id
GROUP BY shop_name
ORDER BY final_total DESC, shop_name ASC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...