表名:table
A B C
2 5 3
1 4 5
3 3 1
5 2 4
4 1 2
select * from table
ok 这样写没问题查出来的数据跟当初插入时输入的数据的顺序是一样的
but 注意A是主键
select * from table where A > 0
你就会吃惊的发现他帮你自动排序了!
怎么才能让他不帮你排序呢?
------解决方案--------------------------------------------------------
没有办法,几乎所有的数据库都是这样! 其实DB2也没帮助你排序,它只不过是直接使用了A>0 中的索引顺序。
数据库中一个重要的概念就是
集合中的元组是没有顺序的
------解决方案--------------------------------------------------------
为什么呢 主键默认是索引 索引创建的时候会指定一个排序方式 结果就会按照索引的方式输出了
------解决方案--------------------------------------------------------
用存储过程,在存储过程中用临时表,先将所有的数据读入表中,用循环遍历,去掉不符合条件的,看可不可以