一个SQL语句
别人问我一个简单问题还想了半天,汗。
要操作的是下面的数据表 CodeTable:
ID | Code | Mean |
1 | 001001 | 化龙镇 |
2 | 001002 | 石楼镇 |
3 | 001001001 | 南村 |
4 | 001001002 | 芳村 |
5 | 001001003 | 龙源村 |
6 | 001002001 | 新造村 |
7 | 001002002 | 潭山村 |
村的代码的前6位和所属镇的代码相同。写一SQL语句进行统计与查询,统计每个镇包含多少个村,要求结果如下:
镇的名称 村的个数
化龙镇 5
石楼镇 3
Sql语句为:
select
b.mean as 镇的名称,
(select count(Mean) from test a where len(a.code)='9' and left(a.code,6)=(b.code) ) as 村的个数
from test b
where len(b.code)='6'
b.mean as 镇的名称,
(select count(Mean) from test a where len(a.code)='9' and left(a.code,6)=(b.code) ) as 村的个数
from test b
where len(b.code)='6'