深圳住宿旅店:关于数据库排序输出的算法?

来源:百度文库 编辑:高校问答 时间:2024/04/27 21:33:02
十三个3万记录以上的表
目的:输出某一段时间内的所有表的记录,要求按时间排序。
说明:表并不是按时间顺序输入的。意思是,表储存的记录的时间是混乱的。

求最佳算法!
to: shinely
把十三个表全部排列。
应该是算法题吧,你说的不错。试试!
先谢谢各位!

顺序

select * from 表 WHERE 时间 between '开始时间条件' and '结束时间条件' order by 时间

倒序

select * from 表 WHERE 时间 between '开始时间条件' and '结束时间条件' order by 时间 desc

你的意思是把13个表的数据全部排列,还是各表排列?
如果是各表单独排序,order by 时间 就可以了。
如果13个表可以把各表先排序,然后用归并排序法放到一个临时表中。

ps:是算法题还是数据库问题?

sql 语句

select * from 数据表 while (TO_DAYS(存储日期)>=TO_DAYS('开始日期') AND TO_DAYS(存储日期<=TO_DAYS('结束日期'))

懒就先建一个视图,然后对视图排序。
空间富裕就都insert 到一个临时表,在时间列上建索引,然后select
我同意归并排序是好方法,但如果是远程数据库,建议不要做