存在时计数案例
我有这两张桌子。我想在第一个表中获得第三列,计算 table1.ca=table2.ca 和 table1.d<=table2 的出现次数。
表格1:
CA D
-----
CA1 4
CA2 5
表 2:
CA D
-----
CA1 2
CA1 6
CA1 10
CA2 3
CA2 7
CA2 11
所需的输出。
CA D COUNT EXPLANATION
----------------------------
CA1 4 2 There are 2 entries in table 2 for CA1 with D >=4
CA2 5 2 There are 2 entries in table 2 for CA2 with D >=5
回答
您需要LEFT加入table1totable2和聚合:
SELECT t1.CA, t1.D, COUNT(t2.D) "COUNT"
FROM table1 t1 LEFT JOIN table2 t2
ON t2.CA = t1.CA AND t2.D >= t1.D
GROUP BY t1.CA, t1.D