首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

怎么查询第一个数据和最后一个数据

2012-12-31 
如何查询第一个数据和最后一个数据现有一表A,字段如下:车号,任务号,毛重,时间。现如何按“任务号”查询一段时

如何查询第一个数据和最后一个数据
现有一表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

热点排行