当前位置: 首页 > 面试题库 >

Postgres:一次选择即可获得最小值,最大值,合计值

壤驷瑾瑜
2023-03-14
问题内容

我正在使用Postgresql 8.4。我有一个这样的表:

 type | value
------+-------
 1    | 5
 2    | 6
 1    | 4
 3    | 10

我想写一个选择,该选择将给我最小值和最大值,并且所有类型的总计为integer[]。理想的结果应该是:

 min | max | types
-----+-----+-----------
 4   | 10  | {1, 2, 3}

要获得最小值和最大值,我已经有:

SELECT MIN(value) min, MAX(value) max FROM table;

为了获得独立选择的类型,我使用:

SELECT array_agg(DISTINCT type) types FROM table;

如何将它们组合成一个选择(效率不是很高)?


问题答案:
SELECT array_agg(DISTINCT type) AS types,
       MIN(value) AS min,
       MAX(value) AS max
FROM your_table


 类似资料:
  • 问题内容: 如果要从整个表中选择最小值和最大值,则可以使用以下方法: 但是,如何仅从表的一部分中选择最小值和最大值?例如,我在一个表中有30行。我想从前十行中选择最小值和最大值,然后从后十行中选择,然后形成最后的10行。 我已经尝试过类似的东西 但这没有用。 如何用最少的查询解决此问题? 问题答案: 此外,MySQL具有一项很酷的功能,可让您返回任意范围的行(例如,返回10-20行)。这对于显示记

  • 问题内容: 这个问题已经在这里有了答案 : 使用Java在原始数组中查找最大值/最小值 (15个答案) 5年前关闭。 这是我的代码。我需要获取数组的最小值,最大值才能为我获取范围,无论何时输入数字,最小值均为0。请帮助我。谢谢:) 问题答案: 同样,通过更改较小的符号可以找到最小值。

  • 问题内容: 我正在尝试制作类似提醒的应用程序。我想允许用户选择不是现在(至少从现在起5分钟)的日期和时间,并且我也想禁止用户选择距离太远的日期- 例如30天。我创建了datePicker和timePicker,使它们在单击按钮时弹出,但是找不到设置最小值和最大值的方法。 问题答案: 试试这个: 但是,您需要检查用户是否选择了今天的日期,并且时间是否小于当前时间条件。

  • 计算newArr数组所有对象中arr二维数组,比较后返回其中的[[最小值,最小值],[最大值,最大值]]; 要这种结果[[39.867638888888884, 115.39333333333333], [50.97152777777777, 120.31527777777778]]

  • 问题内容: 例如,给定此表的稀疏ID: 我可以使用以下查询从表中获取最高的“ id”: 我得到: 我如何才能在最高“ id”之前获得“ id”(即使值不是连续的)? 问题答案: 是相同的 注意:这是事务性sql语法,根据您的供应商使用rownum或limit 获得第二行,你可以做

  • 问题内容: 如何在Mongoose查询中获得最大值。在SQL中很容易 我想在Mongoose(node.js)中等效上述SQL代码 问题答案: MongoDB支持最大/最小,但他们不建议在实际应用中使用它: min和max主要用于支持mongos(分片)过程。 http://www.mongodb.org/display/DOCS/min+and+max+Query+Specifiers 您几乎可