这个SQL语句该如何实现?
正在做一个报表统计问题,数据库为Oracle9,
数据格式为
日期 数据1 数据2 数据3 部门
2007-1-1 10:00 xxx xxx xxx A
2007-1-1 10:20 xxx xxx xxx B
2007-1-1 10:40 xxx xxx xxx C
2007-1-1 11:00 xxx xxx xxx D
2007-1-1 11:20 xxx xxx xxx A
2007-1-1 11:40 xxx xxx xxx A
2007-1-1 12:00 xxx xxx xxx A
2007-1-1 12:20 xxx xxx xxx A
2007-1-1 12:40 xxx xxx xxx A
.
.
.
2007-1-2 9:00 xxx xxx xxx A
2007-1-2 10:00 xxx xxx xxx A
2007-1-2 10:20 xxx xxx xxx A
2007-1-2 10:40 xxx xxx xxx A
.
.
.
2007-1-3 10:00 xxx xxx xxx A
2007-1-3 10:20 xxx xxx xxx A
2007-1-3 10:40 xxx xxx xxx A
其中每天数据量为250条左右,现在需要做月报表,
请教如何将每天的最后一条取出?
------解决方案--------------------select top 1
from table1
where time > =每天统计的开始时间 and time <=每天统计的结束时间
order by 统计时间 desc;
将查询结果按统计时间的降序排列,第一条记录就是每天统计的最后一条记录.
------解决方案--------------------Select * from 表 a where not exists
(select * from 表 where to_char(日期, 'yyyy-mm-dd ')=to_char(a.日期, 'yyyy-mm-dd ')
and 日期> a.日期)
------解决方案--------------------SELECT *
FROM tabname a
WHERE EXISTS (SELECT 1
FROM (SELECT MAX (date_) date_
FROM tabname
GROUP BY TO_CHAR (date_, 'yyyymmdd ')) taba
WHERE a.date_ = taba.date_)