全部,让我们说SQL如下所示。
Select a, b ,c from table1 order by c
如果table1
中的所有行在字段c中具有相同的字段值。我想知道每次执行SQL时结果是否具有相同的顺序。
我们假设table1
中的数据如下所示。
a b c
-------------------------------------------
1 x1 2014-4-1
....
100 x100 2014-4-1
....
1000 x1000 2014-4-1
....
Oracle如何按值确定相同订单的行序列?
加
它们每次都是随机序列吗?
答案 0 :(得分:4)
一个简单的答案是否。 无保证 相等值上的- (void)buttonPressed:(id)sender
{
NewViewController *newVC = [NewViewController new];
[self presentViewController:newVC animated:YES completion:nil];
}
每次都会返回相同的排序结果。在你看来它总是稳定的,然而,有很多原因可以改变它。
例如,对相等值的排序可能会推迟:
例如,
我们说我有一张桌子:
ORDER BY
具有相似值的列的排序就像:
SQL> SELECT * FROM t ORDER BY b;
A B
---------- ----------
1 1
2 1
3 2
4 2
5 3
6 3
6 rows selected.
因此,表格中的类似数据,但SQL> CREATE TABLE t1 AS SELECT * FROM t ORDER BY b, DBMS_RANDOM.VALUE;
Table created.
SQL> SELECT * FROM t1 ORDER BY b;
A B
---------- ----------
1 1
2 1
4 2
3 2
5 3
6 3
6 rows selected.
列上的值相等,不能保证相同的排序。
答案 1 :(得分:0)
它们不能是随机的(每次更改),但订单不保证(有时会更改)。