PostgreSQL:加权排序,按列A*0.7+列B*0.3排序



给定两个选定的数值。我可以点一个。然而,我希望根据加权公式对两者进行订购。这可能吗?

例如:

order by columnA * 0.7 + columnB * 0.3

执行此类查询的正确/最简单的方法是什么?

我倾向于这样做:

SELECT
  columnA,
  columnB,
  (columnA * 0.7) + (columnB * 0.3) as weighted_value
FROM
  table
ORDER BY 
  weighted_value DESC

首先,它更干净,更容易阅读。它还将表达式放在select中它所属的位置。

您可以很容易地做到这一点,而且您的语法已经是正确的了。

这么说吧,就像

select *
from someTable
order by columnA * 0.7 + columnB * 0.3

最新更新