现在我有一张表,表里有很多数据,我想把这个数据过滤一下,取某一天某个cdid的最早的一条记录和最晚的一条记录。
CREATE TABLE DATATABLE
(
CDID INT,
TIMETYPE DATETIME,
WORKTYPE VARCHAR(50)
)
INSERT INTO DATATABLE VALUES(1,'2011-02-23 08:00','工作1')
INSERT INTO DATATABLE VALUES(1,'2011-02-23 09:00','工作2')
INSERT INTO DATATABLE VALUES(1,'2011-02-23 10:00','工作3')
INSERT INTO DATATABLE VALUES(1,'2011-02-23 11:00','工作4')
INSERT INTO DATATABLE VALUES(2,'2011-02-23 11:00','工作4')
SELECT * FROM DATATABLE B,
(
SELECT MIN(TIMETYPE)MINTIMETYPE,MAX(TIMETYPE)MAXTIMETYPE FROM DATATABLE WHERE DATEPART(YY,TIMETYPE)='2011' AND DATEPART(MM,TIMETYPE)='02' AND DATEPART(DD,TIMETYPE)='23'
)A
WHERE B.TIMETYPE=A.MINTIMETYPE OR B.TIMETYPE=A.MAXTIMETYPE AND CDID=1
给个大致的表结构和小部分数据..~`
把表结构说明一下,再给几条示例数据大家才好解答
--例如取2011-02-25今天的最早的一条记录和最晚的一条记录
select top(1) cdid from T
where CreatedTime > '2011-02-25'
union
select top(1) cdid from T
where CreatedTime < '2011-02-26'