SQL本地最小值和最大值

esa606

我有此数据:

row_id  type    value
1       a       1
2       a       2
3       a       3
4       a       5        --note that type a, value 4 is missing
5       a       6
6       a       7
7       b       1
8       b       2
9       b       3
10      b       4
11      b       5        --note that type b is missing no values from 1 to 5
12      c       1
13      c       3        --note that type c, value 2 is missing

我想为每个中的每个连续“运行”找到最小值和最大值type那就是我要回来

row_id  type    group_num   min_value   max_value
1       a       1           1           3
2       a       2           5           7
3       b       1           1           5
4       c       1           1           1
5       c       2           3           3

我是一个经验丰富的SQL用户,但是我从未解决过此问题。很显然,我知道如何让整体的最小值和最大值为每个type使用GROUPMIN以及MAX,但我真的在这些地方最小值和最大值的损失。在其他问题上我没有发现任何可以回答我问题的东西。

我将PLSQL Developer与Oracle 11g一起使用。谢谢!

亚历克斯·普尔

这是一个孤岛问题。您可以使用分析功能effect / trick来找到每种类型的连续值链:

select type,
  min(value) as min_value,
  max(value) as max_value
from (
  select type, value,
    dense_rank() over (partition by type order by value)
      - dense_rank() over (partition by null order by value) as chain
  from your_table
)
group by type, chain
order by type, min(value);

内部查询使用类型和整个结果集中的值的排名之间的差异来创建“链”号。外部查询仅将其用于分组。

SQL Fiddle包括内部查询的结果。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL查询最小值和最大值

来自分类Dev

SQL查询最小值和最大值

来自分类Dev

最小值和最大值

来自分类Dev

SQL查询以查找基于日期的本地最大值,最小值

来自分类Dev

获取Clojure中的最大值和最小值

来自分类Dev

查找函数的最小值和最大值

来自分类Dev

数组中的Java最小值和最大值

来自分类Dev

在列表中交换最大值和最小值

来自分类Dev

使用最小值和最大值的置信带

来自分类Dev

使用awk的最大值和最小值

来自分类Dev

列表集合中的最小值和最大值

来自分类Dev

在.json中查找最大值和最小值

来自分类Dev

awk查找数组的最小值和最大值

来自分类Dev

dygraph:显示最大值和最小值

来自分类Dev

Google图表上的最大值和最小值

来自分类Dev

确定滑块范围的最小值和最大值

来自分类Dev

每组的最小值和最大值

来自分类Dev

gnuplot:如何绘制最大值和/或最小值

来自分类Dev

铲斗以最大值和最小值排序

来自分类Dev

列的最大值和最小值之间的差异

来自分类Dev

熊猫的最大值和最小值

来自分类Dev

每组保持顺序的最小值和最大值

来自分类Dev

地址范围的最小值,最大值和步长

来自分类Dev

数学最小值和最大值返回NaN

来自分类Dev

元组列表中的最小值和最大值

来自分类Dev

合并行并取最小值和最大值

来自分类Dev

在列表中获取最小值和最大值

来自分类Dev

使用awk提取最大值和最小值

来自分类Dev

NSInterger最大值和最小值