【发布时间】:2015-09-16 05:37:37
【问题描述】:
假设表 A 与表 B 和表 C 有很多关系。我想实现 A.id,count(B.id),count(C.id) 结果。我怎样才能在不使用子查询的情况下得到它?
【问题讨论】:
假设表 A 与表 B 和表 C 有很多关系。我想实现 A.id,count(B.id),count(C.id) 结果。我怎样才能在不使用子查询的情况下得到它?
【问题讨论】:
您可以通过在 count() 函数中使用 distinct 关键字来实现此目的。示例:
select
A.id,
count(distinct B.id),
count(distinct C.id)
from A
left outer join B on B.A_id = A.id
left outer join C on C.A_id = A.id
group by A.id;
【讨论】:
distinct! ◕‿◕