我有两个表:DATA和USERS
USERS
id sqft postal province city
==========================================================
1 1 Y7R BC Vancouver
2 2 Y7R BC Vancouver
3 1 L5B ON Toronto
和
DATA
id uid power
=======================
1 1 1000
2 2 1300
3 1 1500
表格中的uid与表USERS中的id匹配
我希望能够计算DATA中postal code
Y7R 且sqft
1 <的数据中不同的uid数量/ p>
答案 0 :(得分:0)
SELECT COUNT(id)
FROM `DATA` AS `d`
INNER JOIN `USERS` AS `u`
ON u.id=d.uid
WHERE u.postal='Y7R' AND u.sqft=1
GROUP BY u.id;
如果你有一个合适的架构,它们应该是不同的,如果是这样,只需删除group by子句。
答案 1 :(得分:0)
SELECT COUNT(DISTINCT D.UID) FROM DATA D
LEFT JOIN USERS U ON D.UID=U.ID
WHERE U.POSTAL='Y7R' AND U.SQFT=1)
如果您需要明确的
答案 2 :(得分:0)
您可以使用此解决方案:
SELECT COUNT(DISTINCT a.id)
FROM USERS a
JOIN DATA b ON a.id = b.uid
WHERE a.sqft = 1 AND
a.postal = 'Y7R'
答案 3 :(得分:0)
试试这个:
SELECT COUNT(DISTINCT a.id)
FROM USERS a
INNER JOIN DATA b
ON a.id = b.uid
WHERE a.sqft = 1 AND
a.postal = 'Y7R'