从另一列动态创建的排序顺序列(Postgres)

时间:2019-03-04 08:43:49

标签: sql postgresql

我正在尝试在Postgres选择查询上输出排序顺序列,以根据其列的值为每一行提供一个顺序整数-这种排序顺序是从另一列派生的。像这样:

account= [['abc', 8566665891, 's', 5000], ['xyz', 9852560352, 'c', 6000], ['pqr', 6854265891, 's', 7000]]
c_phone = int(input("Enter your phone to Close Account : "))
print( [k for k in account if k[1] != c_phone] )

select column_1_name, column_2_name, column_3_name, [a formula] AS sort_order from table_name 列中的数据将是一个以逗号分隔的列名列表,按照我希望它们在sort_order中显示的顺序(对于item列中的每个唯一项,均从1开始)。 / p>

在下面的示例中,我想首先按column_2_name,然后按column_3_name对“汽车”项进行排序。 -这意味着绿色汽车要比红色汽车先行。

对于船只,这些船只首先按column_1_name,然后按column_3_name,然后最后按column_2_name进行排序。这意味着10m的船要比20m的船早。

数据: enter image description here

所需的输出 enter image description here

谢谢。

0 个答案:

没有答案
相关问题