在每个分区的列中找到最大值

用户613114

我有这样的表结构:

CREATE TABLE new_test
( col1 NUMBER(2) NOT NULL,
  col2 VARCHAR2(50) NOT NULL,
  col3 VARCHAR2(50) NOT NULL,
  col4 VARCHAR2(50) NOT NULL
);

它具有数据:

col1    col2    col3    col4
0         A      B       X
1         A      B       Y
2         A      B       Z
1         C      D       L
3         C      D       M

我需要找到col4和col3的组合具有最大值的值col4。例如我的结果应该是:

col4
  Z
  M

我尝试使用oracle解析函数:

SELECT col4, MAX(col1) OVER (PARTITION BY col2, col3) FROM (
SELECT col2, col3, col4, col1 
FROM new_test);

但是它没有按预期工作。您能帮我解决这个问题吗?

更新:我可以使用以下方法使其工作:

SELECT a.col4
FROM new_test a,
  (SELECT col2,
    col3,
    col4,
    MAX(col1) OVER (PARTITION BY col2, col3) AS col1
  FROM new_test
  ) b
WHERE a.col2 = b.col2
AND a.col3   = b.col3
AND a.col4   = b.col4
AND a.col1   = b.col1;

有没有比这更好的方法了?

西尔万·勒鲁

如果您期望得到这样的结果:

col4
  Z
  M

您应该写:

SELECT MAX(col4) AS col4 FROM new_test GROUP BY col2,col3

这将返回列col4中每个对的最大值col2,col3


如果您需要:

COL2    COL3    COL4
A       B       Z
C       D       M

写:

SELECT col2,col3,MAX(col4) AS col4 FROM new_test GROUP BY col2,col3

最后,如果您需要:

COL1    COL2    COL3    COL4
2       A       B       Z
3       C       D       M

有很多变化。像这个:

SELECT col1,col2,col3,col4 
  FROM new_test
  NATURAL JOIN (SELECT col2,col3,MAX(col4) AS col4 
                  FROM new_test GROUP BY col2,col3)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从列中找到最大值

来自分类Dev

推力CUDA在每个组(段)中找到最大值

来自分类Dev

在二维列表的一列中找到最大值的每个索引

来自分类Dev

在二维列表的一列中找到最大值的每个索引

来自分类Dev

如何在numpy数组列中找到最大值?

来自分类Dev

在Pandas列中找到多行的最大值

来自分类Dev

在矩阵中找到最大值的行和列索引

来自分类Dev

如何在numpy数组列中找到最大值?

来自分类Dev

在熊猫中找到一列的最大值

来自分类Dev

在PHP数组中找到最大值

来自分类Dev

如何从字典中找到最大值?

来自分类Dev

在循环中找到最大值

来自分类Dev

在元组向量中找到最大值

来自分类Dev

如何从结构中找到最大值?

来自分类Dev

在 clingo 中找到原子的最大值

来自分类Dev

找到最大值后,在单独的列中找到后续的最小值

来自分类Dev

熊猫:在数据框中找到每个系列的最大值

来自分类Dev

使用count(*)完成计算后,如何在每个组中找到最大值?

来自分类Dev

如何在HIVE中找到每个唯一ID的总和和最大值?

来自分类Dev

使用count(*)完成计算后,如何在每个组中找到最大值?

来自分类Dev

在每个时间步中找到文本和数字之间的最大值

来自分类Dev

从一列中找到最大值,然后根据该最大值填充另一列

来自分类Dev

Bourne Shell脚本,在第1列中找到最大值,在第3列中找到特定值

来自分类Dev

在列中找到最大值,选择相应的值,然后复制并粘贴这些值

来自分类Dev

如何在postgres中找到与同一列相同的列的最大值和值?

来自分类Dev

在与另一列对应的列中找到最大值和最小值

来自分类Dev

从一列中找到最大值的最快方法是在另一列中找到多个重复项?

来自分类Dev

在一对列中找到最大值/最小值

来自分类Dev

awk:在列中找到最小值和最大值

Related 相关文章

  1. 1

    如何从列中找到最大值

  2. 2

    推力CUDA在每个组(段)中找到最大值

  3. 3

    在二维列表的一列中找到最大值的每个索引

  4. 4

    在二维列表的一列中找到最大值的每个索引

  5. 5

    如何在numpy数组列中找到最大值?

  6. 6

    在Pandas列中找到多行的最大值

  7. 7

    在矩阵中找到最大值的行和列索引

  8. 8

    如何在numpy数组列中找到最大值?

  9. 9

    在熊猫中找到一列的最大值

  10. 10

    在PHP数组中找到最大值

  11. 11

    如何从字典中找到最大值?

  12. 12

    在循环中找到最大值

  13. 13

    在元组向量中找到最大值

  14. 14

    如何从结构中找到最大值?

  15. 15

    在 clingo 中找到原子的最大值

  16. 16

    找到最大值后,在单独的列中找到后续的最小值

  17. 17

    熊猫:在数据框中找到每个系列的最大值

  18. 18

    使用count(*)完成计算后,如何在每个组中找到最大值?

  19. 19

    如何在HIVE中找到每个唯一ID的总和和最大值?

  20. 20

    使用count(*)完成计算后,如何在每个组中找到最大值?

  21. 21

    在每个时间步中找到文本和数字之间的最大值

  22. 22

    从一列中找到最大值,然后根据该最大值填充另一列

  23. 23

    Bourne Shell脚本,在第1列中找到最大值,在第3列中找到特定值

  24. 24

    在列中找到最大值,选择相应的值,然后复制并粘贴这些值

  25. 25

    如何在postgres中找到与同一列相同的列的最大值和值?

  26. 26

    在与另一列对应的列中找到最大值和最小值

  27. 27

    从一列中找到最大值的最快方法是在另一列中找到多个重复项?

  28. 28

    在一对列中找到最大值/最小值

  29. 29

    awk:在列中找到最小值和最大值

热门标签

归档