如何解决MYSQL如何获得签到的总和?
|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 \组合在一起之前,如何对特定位置的签到求和。\'id \',例如2。
Example:
2,52 checkins
2,11 checkins
我想要:2,63签到
当前的sql产生2,52签入
解决方法
尝试:
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`,insights.`place_id`
,您的查询与您的输出不匹配。您似乎想要的是:
select place_id,sum(checkins)
from insights
group by place_id
如果添加更多字段或更多联接,则可能最终会按其他条件分组或添加额外的行。这些将导致无效的结果。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。