我正在尝试获取一些统计数据;总链接、用户和 View ,来自 3 个不同的表。 我在尝试什么:
SELECT SUM(p.views), COUNT(c.id), COUNT(u.id)
FROM studenkel_userprefs as p, studenkel_content as c, studenkel_users as u
如果我在三个不同的查询中单独执行它们,它们工作正常,但结果比我想要的高几千倍。我猜他们以某种方式相互繁殖,提示?
谢谢
编辑:谢谢你们,非常感谢你们的帮助,解决了这个问题。
最佳答案
您在 from 中所做的称为不带条件的隐式内部联接。
这意味着您的最终 View 有 p.rows * c.rows * u.rows
行,这就是您得到奇怪结果的原因。
如果您有 3 个问题,请分开提问,不要同时提问。
或者,如果你真的只想要一个请求,你可以使用一些丑陋的东西:
SELECT
SELECT SUM(views) FROM studenkel_userprefs as "sum_userprefs",
SELECT COUNT(id) FROM studenkel_content as "cnt_content",
SELECT COUNT(u.id) FROM studenkel_users as "cnt_users"
FROM DUAL;
关于php - MYSQL Sum 和 Count 在不同的表上,在同一个查询中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19521813/