Postgresql Postgres按选择列排序
我想知道是否有一个简单的方法来做这样的事情Postgresql Postgres按选择列排序,postgresql,Postgresql,我想知道是否有一个简单的方法来做这样的事情 SELECT column_1, column_2, column_3, ... column_n FROM my_table ORDER BY column_1 ASC, column_2 ASC, column_3 ASC, ... column_n ASC; 但要使其更清洁,例如: SELECT column_1, column_2, col
SELECT
column_1,
column_2,
column_3,
...
column_n
FROM my_table
ORDER BY
column_1 ASC,
column_2 ASC,
column_3 ASC,
...
column_n ASC;
但要使其更清洁,例如:
SELECT
column_1,
column_2,
column_3,
...
column_n
FROM my_table
ORDER BY SELECT LR ASC;
我知道这不管用,但我希望这个想法有意义。从本质上说,我是一个表,所有的顺序都是从左到右(LR)递增的
外面有类似的东西吗?还是一个愚蠢的想法?你不能。没有这样的结构:中总结了排序依据的语法。没有允许您在一个表达式中指定多个列的版本 手册确实提到了,但没有给出“列编号”的示例,这可以让生活更轻松<代码>按1排序表示“按
选择
列表中的第一列/表达式排序”,因此您可以这样写:
SELECT
column_1,
column_2,
column_3,
...
column_n
FROM my_table
ORDER BY
1 ASC,
2 ASC,
3 ASC,
...
column_n ASC;
因此,您只需要知道列的数量,而不需要重复每个列的全名或表达式。是的,但这不包括在末尾添加两个新列,其中一个列忘记按顺序排列。我知道列号,这似乎是一个很好的功能。@KevinOrriss是的,我意识到这不是你想要的,但我想这是你能得到的。很抱歉