如何查询第一个数据和最后一个数据
现有一表A,字段如下:
车号,任务号,毛重,时间。
现如何按“任务号”查询一段时间内(按时间排序)第一次称重的时间和最后一次称重时间呢?
[解决办法]
select 任务号,min(时间)第一次称重,max(时间)最后一次称重
from a
where 时间 between @begin and @end
group by 任务号
[解决办法]
select
任务号,
(select top 1 时间 from tb b where a.任务号=b.任务号 order by 时间 asc) as 第一次称重时间,
(select top 1 时间 from tb c where a.任务号=c.任务号 order by 时间 desc) as 最后一次称重时间
from
tb a
if OBJECT_ID('table1','u') is not null
drop table table1
go
create table table1
(
CarNo int,
MissionNo int,
Heavy int,
MiTime datetime
)
go
insert into table1 values
(1001,20001,16,'2012-10-15 12:38:55'),
(1002,20001,2,'2012-10-16 20:38:55'),
(1003,20001,12,'2012-10-17 22:38:55'),
(1004,20002,11,'2012-12-15 22:30:55'),
(1005,20002,22,'2012-12-16 22:38:55'),
(1006,20003,9,'2012-12-17 22:38:55')
--SQL
--第一次
select top 1 MiTime From table1 where MissionNo=20001 order by MiTime
--最后一次
select top 1 MiTime From table1 where MissionNo=20001 order by MiTime desc