按顺序按时间提取数据库记录的操作
有一个问题,一直没想出更好的办法。 
 数据库里有几十条记录,ID可以自动累加。 
 我想实现: 
 每天取出3条记录,并显示出来。 
 如第一天取出1、2、3条记录,第二取出4、5、6条记录。。。。 
 如果最后一天只有34一条记录了,则取出34、1、2条记录。   
 怎么实现最合理、最简单呢?
------解决方案--------------------create table A(id int) 
 insert into A values(1) 
 insert into A values(2) 
 insert into A values(3) 
 insert into A values(4) 
 insert into A values(5) 
 insert into A values(6) 
 insert into A values(7) 
 insert into A values(8) 
 insert into A values(9) 
 insert into A values(10) 
 insert into A values(11) 
 insert into A values(12) 
 insert into A values(13) 
 insert into A values(14) 
 go   
 select id_1+1 天, 
   max(case id_2 when 1 then id else 0 end) [1], 
   max(case id_2 when 2 then id else 0 end) [2], 
   max(case id_2 when 0 then id else 0 end) [3] 
 from 
 ( 
   select id , (id-1)/3 id_1, id % 3 id_2 from A 
 ) t 
 group by id_1 + 1   
 drop table A   
 /* 
 天           1           2           3            
 ----------- ----------- ----------- -----------  
 1           1           2           3 
 2           4           5           6 
 3           7           8           9 
 4           10          11          12 
 5           13          14          0   
 (所影响的行数为 5 行) 
 */