我正在使用mysql 5.1
这是我的要求, 我想计算0到14岁之间以及启用帐户的用户数量。
SELECT COUNT( DISTINCT user.id ) AS user
FROM profile, user
WHERE (
profile.age
BETWEEN 0
AND 14
)
AND user.enabled =1
user.enabled=1
条件正常,但不是profile.age BETWEEN 0 AND 14
答案 0 :(得分:2)
您没有加入2个表,因此您只是运行两者的笛卡尔积。您需要通过公共密钥加入它们。
这样的事情:
SELECT COUNT( DISTINCT user.id ) AS user
FROM profile join user on user.id=profile.user_id
WHERE (
profile.age
BETWEEN 0
AND 14
)
AND user.enabled =1