我写了下面加入查询来获取使用聚合功能奇怪的MySQL连接查询的结果与聚合函数
SELECT users.id, SUM(orders.totalCost) AS bought, COUNT(comment.id) AS commentsCount, COUNT(topics.id) AS topicsCount, COUNT(users_login.id) AS loginCount, COUNT(users_download.id) AS downloadsCount
FROM users
LEFT JOIN orders ON users.id=orders.userID AND orders.payStatus=1
LEFT JOIN comment ON users.id=comment.userID
LEFT JOIN topics ON users.id=topics.userID
LEFT JOIN users_login ON users.id=users_login.userID
LEFT JOIN users_download ON users.id=users_download.userID
GROUP BY users.id
ORDER BY bought DESC
,但我不知道为什么我得到下面的输出报告?
聚合函数的结果是相互相乘的!
我不知道为什么?
例如用于最后行i预期以下结果
821 | 48000 | 63 | 0 | 10 | 10
执行EXPLAIN查询的结果示于下
显示您预期的结果集,并且还提供了一些样本数据@ *的Sql小提琴*](http://sqlfiddle.com/) – 2014-09-21 07:27:20
正确的DDL重复值@MKhalidJunaid看到预期的结果在我的更新中。列的结果是相乘的,除了id列 – 2014-09-21 07:36:30