SQLite查询列似乎对结果进行排序

时间:2017-02-16 23:26:15

标签: sqlite select

我确信我只是大脑冻结,而且这个版本很简单,但在SQLite中,当我执行以下查询时,它似乎是在对结果进行排序:

&unqualified-id

enter image description here

当我在同一张桌子上使用外卡时,它不会(我只是再次显示该列,但还有其他列)。

SELECT col_Referncia FROM lookup_57c5f58b0c4543df97fe5929498aa2bf

enter image description here

编写代码的方式我必须指定列。有没有办法让它以非排序的方式返回(就像我用通配符看到的那样)?

该表有多个列和索引。我怀疑这与索引有关吗?

1 个答案:

答案 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

这样排序就是正确的。