[100分]菜鸟问题,以时间为排序,给定一个时间段,和一个数字n,要求顺序获取这个时间段之前的n个记录和时间段的记录
2. 给定一个数字: n
要求:
以时间为顺序,获取 time1 之前的 n个数据 和 time1->time2 的数据的 合集。
能不能有什么简单点的办法。
我现在是分两步获取的。
求助各位大大,讲解一下思路,刚刚开始接触数据库,谢谢!
作者: norsd 发布时间: 2011-05-05
(select * from #table where #time between time1, time2)
union
(select * from #table where #time < time1 limit n)
作者: afeiqiang 发布时间: 2011-05-05
between time1 and time2
作者: afeiqiang 发布时间: 2011-05-05
Select * From(Select * From T where DATETIME<TIME1 order by ID limit n)S order by ID union all (Select * From T where DATETIME BETWEEN TIME1 AND TIME2)
作者: lxq19851204 发布时间: 2011-05-05
2. 给定一个数字: n
要求:
以时间为顺序,获取 time1 之前的 n个数据 和 time1->time2 的数据的 合集。
SET @ASQL=CONCAT('SELECT * FROM TT WHERE TIME<time1 LIMIT ',N,' UNION ALL ','SELECT * FROM TT WHERE TIME between time1 and time2');
PREPARE STML FROM @ASQL;
EXECUTE STML;
作者: wwwwb 发布时间: 2011-05-05
作者: WWWWA 发布时间: 2011-05-05
union all
第二步
作者: rucypli 发布时间: 2011-05-05
作者: dianyancao 发布时间: 2011-05-05
如果是第一个理解的话,那么楼上几位基本都错了,应该对ID先倒序,再取limit N
语法没什么问题。
作者: fellatioyzx 发布时间: 2011-05-05
作者: zhiguozhiguo 发布时间: 2011-05-05