sql语句(和记录的统计相关)

来源:百度知道 编辑:UC知道 时间:2024/07/04 14:41:54
有两张表:记录表(A):里面有温度记录
房间号 温度 日期
1001 28 2007-1-1
1001 36 2007-1-1
标准值表(B):存放温度的标准值 就一条记录 如下:
高高温 高温 低温 低低温
32 27 18 17
根据表B的标准值来统计A中的记录,得出高高温,高温,低温,低低温的记录个多少条 统计显示为:
房间号 高高温记录数,高温记录数,低温记录数,低低温记录数
1001 0 1 0 0
1002 1 0 0 1

请问这样的sql语句怎么写啊?谢谢!

温度一共有5个区间,而一共只有四个温度等级,暂时定义为:
>=32高高温
27-32高温
18-27
17-18低温
<=17低低温

select A.房间号 高高温记录数,高温记录数,低温记录数,低低温记录数 from
(select 房间号,count(*) as 高高温记录数 from A,B where A.温度>=B.高高温) 高高温记录,
(select 房间号,count(*) as 高温记录数 from A,B where A.温度>=B.高温 and A.温度<B.高高温) 高温记录,
(select 房间号,count(*) as 低温记录数 from A,B where A.温度>B.低低温 and A.温度<=B.低温) 低温记录,
(select 房间号,count(*) as 低低温记录数 from A,B where A.温度<=B.低低温) 低低温记录,A
where 高高温记录.房间号=A.房间号
and 高温记录.房间号=A.房间号
and 低温记录.房间号=A.房间号
and 低低温记录.房间号=A.房间号