LINUX.ORG.RU

[postgresql] вопрос по select

 


0

1

можно ли как-то в postgresql указать в select не имя колонки,
а например её номер, как в order : order by 1 asc, 2 desc ???

что-то вроде : select 2,5,6 from table
где 2,5,6 номера колонок

или ещё как-то сослаться на колонку, только не по названию


zabbix=# select alertid from alerts order by 1 desc  ;
 alertid 
---------
   38432
   38431
   38430
   38429
   .....

zabbix=# select alertid from alerts order by 1 asc  ;
 alertid 
---------
    2920
    2921
    2922
    2923
    2924

ukr_unix_user ★★★★
()

а в селекте «If the column's expression is a simple column reference then the chosen name is the same as that column's name; in more complex cases a generated name looking like ?columnN? is usually chosen.»

вобщем, маны. мааныыыы! читай!

aol ★★★★★
()

или ещё как-то сослаться на колонку, только не по названию

В Python ты можешь выполнить

cursor.execute("select * from table")
cursor.fetchall() вернет словарь, к записям которого ты можешь обратиться по индексу. На чистом sql вряд ли получится это сделать.

Озвучь лучше задачу. Ты явно хочешь чего-то странного.

power
()

или ещё как-то сослаться на колонку, только не по названию

скастуй к своему типу, что-то типа

CREATE TYPE myrowtype AS (f1 int, f2 text, f3 numeric);

unC0Rr ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.