MYSQL как мне получить сумму проверок? - PullRequest
0 голосов
/ 24 мая 2011
SELECT promotions.`sms_promo_id`, places.`id`, places.`name`, insights.`checkins`, insights.`likes`, insights.`place_id`
FROM promotions INNER JOIN places INNER JOIN insights
ON promotions.`id` = places.`promotion_id` AND places.`id` = insights.`place_id`
GROUP BY place_id

Этот sql-запрос работает нормально, но я теряю свои данные регистрации при использовании команды GROUP BY.Как мне суммировать чекины определенных мест. «Скажем, 2», прежде чем я сгруппирую все 2 вместе?

Example:
2, 52 checkins
2, 11 checkins

Я хочу: 2, 63 проверки

текущий sql производит 2, 52 проверки

Ответы [ 2 ]

3 голосов
/ 24 мая 2011

Ваш запрос не соответствует вашему выводу. То, что вы, кажется, хотите, это:

select place_id, sum(checkins)
from insights
group by place_id

Если вы добавите больше полей или больше объединений, вы можете получить подгруппу по другим критериям или добавить дополнительные строки. Это приведет к неверным результатам.

1 голос
/ 24 мая 2011

Попробуйте:

SELECT promotions.`sms_promo_id`, places.`id`, places.`name`, sum(insights.`checkins`), insights.`likes`, insights.`place_id`
FROM promotions INNER JOIN places INNER JOIN insights
ON promotions.`id` = places.`promotion_id` AND places.`id` = insights.`place_id`
GROUP BY promotions.`sms_promo_id`, places.`id`, places.`name`, insights.`likes`, insights.`place_id`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...