表 温度监测 一小时一次Date Time ID temperature
2013-01-01 00:00:00 1 20.7
2013-01-01 00:00:00 2 20.2
2013-01-01 00:01:00 1 19.9
2013-01-01 00:01:00 2 18.5
2013-01-01 00:02:00 1 21.2
2013-01-01 00:02:00 2 20
...
随着时间推移,数据越来越多现在需要将查询结果这样显示DATE ID temperatrue0 tempearture1 temperatrue2 ....
2013-01-01 1 20.7 19.9 21.2 ...
2013-01-01 2 20.2 18.5 20 ...
请问该如何写查询语句?
2013-01-01 00:00:00 1 20.7
2013-01-01 00:00:00 2 20.2
2013-01-01 00:01:00 1 19.9
2013-01-01 00:01:00 2 18.5
2013-01-01 00:02:00 1 21.2
2013-01-01 00:02:00 2 20
...
随着时间推移,数据越来越多现在需要将查询结果这样显示DATE ID temperatrue0 tempearture1 temperatrue2 ....
2013-01-01 1 20.7 19.9 21.2 ...
2013-01-01 2 20.2 18.5 20 ...
请问该如何写查询语句?
例如: 姓名 学科 分数
张三 数学 90
张三 语文 80
张三 英语 90
李四 数学 98
李四 语文 88
李四 英语 83要求这样显示 姓名 数学 语文 英语
张三 。。 。。
李四 。。
我这个是显示的都是Temperature 字段,是同一个字段,该如何写SQL 语句?
(
Name varchar(10) ,
Subject varchar(10) ,
Result int
)insert into tb(Name , Subject , Result) values('张三' , '语文' , 74)
insert into tb(Name , Subject , Result) values('张三' , '数学' , 83)
insert into tb(Name , Subject , Result) values('张三' , '物理' , 93)
insert into tb(Name , Subject , Result) values('李四' , '语文' , 74)
insert into tb(Name , Subject , Result) values('李四' , '数学' , 84)
insert into tb(Name , Subject , Result) values('李四' , '物理' , 94)
go--静态SQL,指subject只有语文、数学、物理这三门课程。
select name 姓名,
max(case subject when '语文' then result else 0 end) 语文,
max(case subject when '数学' then result else 0 end) 数学,
max(case subject when '物理' then result else 0 end) 物理
from tb
group by name
/*
姓名 语文 数学 物理
---------- ----------- ----------- -----------
李四 74 84 94
张三 74 83 93
*/以前高手帮俺解答的.正好看到!