A表 字段
HomeID HouseID ApartID HomeCategory HomePhone
1 420 2 男生 123456
B表 字段
StuID ApartID HouseID
1 2 420
2 2 420
3 1 111
我想统计出一张C表,B表根据A表中的ApartID和HouseID,统计出B表中相同ApartID和HouseID记录的条数,条数在C表中以字段PeopleCount显示
C表
HouseID ApartID PeopleCount
420 2 2
select A.HouseID,A.ApartID,count(*)as PeopleCount from A,B
where A.HouseID= B.HouseID
and A.ApartID= B.ApartID
group by A.HouseID,A.ApartID
自己测试过的,没问题
用Linq查询的话 知道怎么写吗
@Jason131: 这个我真不会。。没用过这个
select
HouseID,
ApartID,
count(*)
from B
group by HouseID,ApartID
不知道你的需求是不是这个意思?
select
HouseID,
ApartID,
PeopleCount=count(*)
from B group by ApartID
select A.HouseID,A.ApartID,count(1) as PeopleCount
from A join B on A.HouseID= B.HouseID
and A.ApartID= B.ApartID
group by A.HouseID,A.ApartID
一般情况下第一个字段是主键,不能为空,写“count(1)”没错。
但是如果第一个字段是可以为空的,那么“count(1)”的统计结果就会错误。可以count主键所在的那个字段