首页 > 解决方案 > Oracle 中每列的最佳值

问题描述

我有一个我想解决的特殊问题。假设说我有一个具有以下结构和值的表

Col1    Col2    Col3    Col4
A       3       S       #
A       3       S       #
A       3       X       #
A       3       X       #
A       3       X       @
A       3       X       @
A       5       X       @
A       5       X       @
A       5       S       #
A       5       S       #

如果我们在上面的第 2 列中看到 3 的值是最大重复次数,col3 有 X 重复最大次数,而 Col4 有 #。

所以我想使用 SQL 形成一个行输出,如下所示。

Col1    Col2    Col3    Col4
A       3       X       #

如果语句是 SQL 而不是 PLSQL 就好了

标签: sqloracleoracle11g

解决方案


您可以使用该stats_mode()功能:

select STATS_MODE(col1) as col1,
       STATS_MODE(col2) as col2,
       STATS_MODE(col3) as col3,
       STATS_MODE(col4) as col4
from the_table
;

在线示例


推荐阅读