Mysql查询从A计数不在B中

时间:2015-02-03 10:30:32

标签: mysql join count

我得到了一张表A和一张表B(以及一张与之无关的表C)。关系是1:n。

Table A
- id
- c_foreign_key

Table B
- id
- A_id
- datetime

表A有大约400和39,000个条目,表B大约有2000万条。

我有一个时间范围,比如从2014/01/01到2014/12/31。

在这个范围内我想要的每个月是: 计算表A中的所有条目,按c_foreign_key分组,其中表A在表B中没有条目(月 - 1年到月)。

结果应如下所示:

date    c_foreign_key   count(*)
--------------------------------
14/01   1               2000
14/01   2               3000
...
14/02   1               4000
14/01   2               6000
...

我已经尝试了左连接和"不在选择"每个月的表现都不是很好。

1 个答案:

答案 0 :(得分:0)

您应该在Mysql Explain Syntax使用explain更多信息调试SQL查询,同时您应该在index字段上放置datetime - es以获得更好的效果。解释通常用于查看mysql在查询中使用哪些索引。