0

DATA と USERS の 2 つのテーブルがあります。

ユーザー

id       sqft       postal       province       city
==========================================================
1          1          Y7R          BC          Vancouver
2          2          Y7R          BC          Vancouver
3          1          L5B          ON          Toronto

データ

id     uid     power
=======================
1       1       1000
2       2       1300
3       1       1500

テーブル DATA の uid は、テーブル USERS の id と一致します

Y7R1postal codeあるDATA 内の個別の uid の数をカウントできるようにしたいsqft

4

4 に答える 4

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'
于 2012-07-15T01:17:53.990 に答える
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'
于 2012-07-15T00:14:02.243 に答える
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 句を削除するだけです。

于 2012-07-15T00:08:29.750 に答える
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)

区別が必要な場合

于 2012-07-15T00:09:42.110 に答える