【发布时间】:2017-05-16 15:04:43
【问题描述】:
谁能帮我找出错误在哪里?我正在尝试计算多个表中的一些行并将它们按“ven_codigo”分组,但我得到的是总计数而不是每个表的计数。
这些是我得到的结果。
select v.ven_codigo,
/*count(a.ven_codigo) as atividades_realizadas, v.ven_meta_atividades,
count(ha.usu_codigo) as historico_atividades,
count(c.cli_codigo) as clientes_cadastrados,*/
count(p.ven_codigo) as propostas_realizadas, v.ven_meta_propostas,
count(pv.ven_codigo) as pedidos_realizados
from vendedor v
inner join comp_usuario_vendedor cuv on cuv.ven_codigo = v.ven_codigo
inner join usuario u on u.usu_codigo = cuv.usu_codigo
/*inner join atividade a on a.ven_codigo = v.ven_codigo
inner join historico_atividade ha on ha.usu_codigo = u.usu_codigo
inner join clientes c on c.ven_codigo = v.ven_codigo*/
inner join proposta p on p.ven_codigo = v.ven_codigo
inner join pedido_venda pv on pv.ven_codigo = v.ven_codigo
where v.ven_codigo >= 1 and v.ven_codigo <= 3
/*and a.ati_data_emissao > '2016-01-01'*/
group by v.ven_codigo, /*a.ven_codigo, ha.usu_codigo, c.cli_codigo,*/
p.ven_codigo, pv.ven_codigo;
Ps:我注释掉了部分代码,因为我错了,运行整个查询花费的时间太长了。
【问题讨论】:
-
看看这是否有帮助..Count rows with inner joined tables
-
您能否对这些查询运行
explain并查看连接的基数非常高的地方,或者尝试进行全面扫描? -
@DhruvSaxena 它做到了。谢谢。我使用子查询完成了所有计数。
-
我没有看到推荐的子查询,也没有看到
EXPLAINs。 (还) -
@RickJames 哎呀,对不起。当我发表评论时,我没有使用装有 mysql 的电脑。我只是无法获得 EXPLAIN 来给我那些漂亮的表格,所以这就是我发布查询的原因。
标签: mysql sql count group-by inner-join