我确信我只是大脑冻结,而且这个版本很简单,但在SQLite中,当我执行以下查询时,它似乎是在对结果进行排序:
&unqualified-id
当我在同一张桌子上使用外卡时,它不会(我只是再次显示该列,但还有其他列)。
SELECT col_Referncia FROM lookup_57c5f58b0c4543df97fe5929498aa2bf
编写代码的方式我必须指定列。有没有办法让它以非排序的方式返回(就像我用通配符看到的那样)?
该表有多个列和索引。我怀疑这与索引有关吗?
答案 0 :(得分:2)
不,这是不可能的。您应该始终指定要设置的顺序。 也就是说,在第一个图像中,您指定了一个列,因此SQL将默认按列值排序为ASC,而在第二个图像中,它可能按主键或第一列值排序(您没有完全显示因为你选择了所有列,所以我们无法知道表模式。
无论哪种方式,您都不应该依赖数据库为您订购商品。
假设你的PK是id
,你可以简单地这样做:
SELECT col_Referncia FROM lookup_57c5f58b0c4543df97fe5929498aa2bf ORDER BY id ASC
但是,这仍然不能保证订购总是像你在那里看到的那样。
另一种解决方案是更新col_Referncia
值。
现在您的列正在按以下顺序排列:
1 - xxxxxxx
10 - xxxxxxx
100 - xxxxxxx
2 - xxxxxxx
我建议你做的是更新你的参赛作品,使数字领先于0,例如:
000001 - xxxxxxx
000002 - xxxxxxx
000010 - xxxxxxx
000100 - xxxxxxx
这样排序就是正确的。