为什么DISTINCT ON
要对行进行排序?例如查询
SELECT DISTINCT ON (a) a
FROM (
VALUES (2), (3), (1)
) x(a);
会有结果
1
2
3
而没有DISTINCT ON
SELECT a
FROM (
VALUES (2), (3), (1)
) x(a);
我会得到正确的顺序
2
3
1
如何保持定义值的自然顺序?“自然顺序”是指“定义值的顺序”。我知道如果我没有用 明确指定它,DBMS 可能会更改顺序ORDER BY
,但我没想到DISTINCT ON
我会以这种方式进行干预。