Postgres减去,除以列并按DESC排序

时间:2019-07-17 08:12:59

标签: postgresql sql-order-by multiple-columns divide

表显示了商店中列出的商品历史记录。 时间添加保存以UNIX时间创建的时间行,即1563119842

如果从商店中删除商品,则输入time_end,否则time_end为Null。

我需要按shop_id = 10按hit_count /(time_end-time_add)排序行 如果time_end为null,则使用当前时间(UNIX时间,UTC)。

TABLE
-
id  |  shop_id  |  time_add  |  time_end  |  variant_id  |  currency_id  |  price  |  item_remote_id  |  hit_count
44  10  1562421719      339218  142 44.99   264389585366    12
92  10  1562736200      493662  142 24.99   264393429852    10
82  10  1562715027      21422   142 16.99   264393189395    9
79  10  1562704291      533662  142 27.99   264393078000    11
46  10  1562421773      963269  142 30.99   264389586629    20
39  10  1562421618      267449  142 27.99   264389582988    9
157 10  1562883770      963038  142 18.99   264395287357    15
160 10  1562883847      618377  142 14.99   264395288546    7
159 10  1562883829      13338   142 22.99   264395288181    19
165 10  1562883953      617446  142 18.99   264395289659    5
167 10  1562883996      910356  142 94.99   264395289979    13
131 10  1562827441      408103  142 13.99   264394543434    12
107 10  1562746942      621577  142 30.99   264393533302    5

Example table

编辑: 尝试>

  

SELECT * FROM shop_inventory_history按hit_count是的情况排序   NOT NULL THEN hit_count /(time_end-time_add)ELSE time_add END DESC   NULLS LAST;

返回顺序不正确。

0 个答案:

没有答案