我的数据库里有很多数据 取其中一些做依据id uname uNumber utime
1 abc 123 2011-3-1 01:53:21
2 efg 456 2011-3-1 04:32:32
3 hjk 789 2011-3-1 11:23:19
4 poi 100 2011-3-1 19:46:51我现在要取得 每天的(这里的3月1号是参考,数据库里有很多的日期)从0时到24时的 uNumber最大值和最小值selec max(uNumber),min(uNumber) from table where utime between A and B这个A和B应该怎么写呢,因为我数据库里有很多别的日期,比如2号,3号的,所以不能定死A和B 就是3月1号的0时到24时
1 abc 123 2011-3-1 01:53:21
2 efg 456 2011-3-1 04:32:32
3 hjk 789 2011-3-1 11:23:19
4 poi 100 2011-3-1 19:46:51我现在要取得 每天的(这里的3月1号是参考,数据库里有很多的日期)从0时到24时的 uNumber最大值和最小值selec max(uNumber),min(uNumber) from table where utime between A and B这个A和B应该怎么写呢,因为我数据库里有很多别的日期,比如2号,3号的,所以不能定死A和B 就是3月1号的0时到24时
join
( select max(uNumber) as MaxValue, convert(char(10),utime,120) as UUTime
from table
group by convert(char(10),utime,120) b
on (Convert(char(10), a.utime,120)=b.UUTime and a.uNumber=b.MaxValue)
)
UNION
select a.id,a.uNumber,a.utime from table a
join
( select min(uNumber) as MinValue, convert(char(10),utime,120) as UUTime
from table
group by convert(char(10),utime,120) b
on (Convert(char(10), a.utime,120)=b.UUTime and a.uNumber=b.MinValue)
)
select max(unumber),min(unumber),testtime from newTable group by testtime创建一张新表 在新表里查询试试
select max(unumber),min(unumber),testtime from newTable group by testtime创建新表,在新表里查询