PostgreSQL获得最小数量(*)?

弯曲

我需要获取最少的数据量。我当前的SQL是

select min(count(*)) from table group by id ;

我希望得到最小数量的变量count(*)。似乎不允许上述查询。错误

aggregate function calls cannot be nested

被抛出。有没有办法使用任何交替方法来实现这一目标?

保罗·盖奥特

答案的数量证明了存在许多解决方案。有趣的是,@ ahorse_with_no_name质疑它们每个的性能。

子查询方法

SELECT MIN(count) FROM (SELECT COUNT(*) FROM table GROUP BY id) t;

它通常产生以下计划:

Aggregate
   ->  HashAggregate
         ->  Seq Scan on table

ORDER / LIMIT方法

SELECT COUNT(*) FROM table GROUP BY id ORDER BY 1 LIMIT 1;

对于某些人来说,感觉更自然,但不幸的是产生了第二种:

 Limit
   ->  Sort
         Sort Key: (count(*))
         ->  HashAggregate
              ->  Seq Scan on table

CTE方法

WITH cte AS (SELECT count(*) FROM table GROUP BY id) SELECT MIN(count) FROM cte;

它与子查询非常相似,除了计划显示已扫描CTE(如果表很大,可以实现)。

 Aggregate
   CTE cte
     ->  HashAggregate
           ->  Seq Scan on table
   ->  CTE Scan on cte

窗口聚合函数方法

或者,您可以将窗口聚合函数与LIMIT结合使用,而不必进行第二种排序。

SELECT MIN(COUNT(*)) OVER () FROM table GROUP BY id LIMIT 1;

它产生一个与子查询方法等效的计划(如果我们认为LIMIT 1几乎是免费的)。

 Limit
   ->  WindowAgg
         ->  HashAggregate
               ->  Seq Scan on table

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PostgreSQL获得最小数量(*)?

来自分类Dev

TEdit:自动完成并限制最小数量

来自分类Dev

SVG的最小数量是多少?

来自分类Dev

删除最小数量的重叠圆?

来自分类Dev

Clojure:支持meta的最小数量实现?

来自分类Dev

SQL:如何获取最小数量?

来自分类Dev

查找最小数量并打印的功能

来自分类Dev

获得价值所需的最小硬币数量

来自分类Dev

获得价值所需的最小硬币数量

来自分类Dev

查找交换的最小数量以对数组进行排序

来自分类Dev

如何计算最大字符串的最小数量?

来自分类Dev

如何找到最小数量的几个变量并返回列名

来自分类Dev

尝试确定Java数组中的最小数量和位置

来自分类Dev

寻找所需的“中心点”的最小数量

来自分类Dev

盖“曼哈顿天际线”使用矩形的最小数量

来自分类Dev

在涵盖特定值的列表中查找最小数量的元素

来自分类Dev

在Python中递归地实现“最小数量的硬币”

来自分类Dev

对数组进行排序的“插入”的最小数量

来自分类Dev

如何计算mysql上A和B的最小数量?

来自分类Dev

如何找到最小数量的几个变量并返回列名

来自分类Dev

从数组中选择最小数量并删除其余的JavaScript

来自分类Dev

Optaplanner:如何处理连续的最小数量

来自分类Dev

修改numpy数组以获取元素之间的最小数量的值

来自分类Dev

如何在for循环中找到最小数量?

来自分类Dev

更新基于最小数量与状态列在mysql中的列?

来自分类Dev

使用 for 循环而不是每个循环的最小数量和平均数量

来自分类Dev

C#Regex字符串中字母数字的最小数量,但可用最小数量中不包含的空格包围

来自分类Dev

Oracle SQL-具有最大和最小数量的最新记录列表

来自分类Dev

如何在产品列表页面中显示“购物车中允许的最小数量”

Related 相关文章

  1. 1

    PostgreSQL获得最小数量(*)?

  2. 2

    TEdit:自动完成并限制最小数量

  3. 3

    SVG的最小数量是多少?

  4. 4

    删除最小数量的重叠圆?

  5. 5

    Clojure:支持meta的最小数量实现?

  6. 6

    SQL:如何获取最小数量?

  7. 7

    查找最小数量并打印的功能

  8. 8

    获得价值所需的最小硬币数量

  9. 9

    获得价值所需的最小硬币数量

  10. 10

    查找交换的最小数量以对数组进行排序

  11. 11

    如何计算最大字符串的最小数量?

  12. 12

    如何找到最小数量的几个变量并返回列名

  13. 13

    尝试确定Java数组中的最小数量和位置

  14. 14

    寻找所需的“中心点”的最小数量

  15. 15

    盖“曼哈顿天际线”使用矩形的最小数量

  16. 16

    在涵盖特定值的列表中查找最小数量的元素

  17. 17

    在Python中递归地实现“最小数量的硬币”

  18. 18

    对数组进行排序的“插入”的最小数量

  19. 19

    如何计算mysql上A和B的最小数量?

  20. 20

    如何找到最小数量的几个变量并返回列名

  21. 21

    从数组中选择最小数量并删除其余的JavaScript

  22. 22

    Optaplanner:如何处理连续的最小数量

  23. 23

    修改numpy数组以获取元素之间的最小数量的值

  24. 24

    如何在for循环中找到最小数量?

  25. 25

    更新基于最小数量与状态列在mysql中的列?

  26. 26

    使用 for 循环而不是每个循环的最小数量和平均数量

  27. 27

    C#Regex字符串中字母数字的最小数量,但可用最小数量中不包含的空格包围

  28. 28

    Oracle SQL-具有最大和最小数量的最新记录列表

  29. 29

    如何在产品列表页面中显示“购物车中允许的最小数量”

热门标签

归档