【问题标题】:Postgres max on few columnsPostgres max 在几列上
【发布时间】:2015-06-06 16:23:43
【问题描述】:

我有一张桌子,看起来像这样

 id | item | price1 | price2

我想要获取商品列表,并且对于我想要的每件商品,我还要在 price1 和 price2 中选择最高价格。是否可以在一个查询中做到这一点?类似的东西

SELECT item, max(price1,price2) FROM table;

更新

例子:

表格包含

item1 | 4 | 8
item2 | 5 | 1
item3 | 7 | 7

我希望结果是

item1 | 8
item2 | 5
item3 | 7

【问题讨论】:

  • 你能举例说明你期望的结果是什么样的吗?
  • 使用 max(price1), max(price2) a group by 和 case 语句选择两者中较大的一个作为最终输出信号

标签: sql postgresql max aggregate-functions


【解决方案1】:

使用GREATEST

SELECT GREATEST(1, 100);
┌──────────┐
│ greatest │
├──────────┤
│      100 │
└──────────┘
(1 row)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多