统计分析 sql 语句
有两个表
客户表:
客户ID 联系人 所属职员
1 LA ZA
2 LB ZA
3 LC ZB
4 LD ZC
订单表:
订单号 客户ID 订单日期
1 1 20130101
2 1 20130102
3 3 20130101
我想统计下 每个职员有多少个客户下过订单
ZA 1
ZB 1
sql语句该怎么写
[解决办法]
create table 客户表
(客户ID int, 联系人 varchar(10), 所属职员 varchar(10))
insert into 客户表
select 1, 'LA', 'ZA' union all
select 2, 'LB', 'ZA' union all
select 3, 'LC', 'ZB' union all
select 4, 'LD', 'ZC'
create table 订单表
(订单号 int, 客户ID int, 订单日期 varchar(10))
insert into 订单表
select 1, 1, '20130101' union all
select 2, 1, '20130102' union all
select 3, 3, '20130101'
select b.所属职员 '职员',count(distinct a.客户ID) '客户数'
from 订单表 a
inner join 客户表 b on a.客户ID=b.客户ID
group by b.所属职员
/*
职员 客户数
---------- -----------
ZA 1
ZB 1
(2 row(s) affected)
*/
SELECT A.所属职员, cnt=COUNT(distinct B.客户ID)
FROM 客户表 a
INNER JOIN 订单表 b
ON a.客户ID = b.客户ID
GROUP BY A.所属职员