sql - 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 就好了
解决方案
您可以使用该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
;
推荐阅读
- batch-file - 如果需要杀死 CMD,如何处理批处理文件
- google-colaboratory - Colab TPU:TensorFlow '2.0.0-beta0' LinearClassifier .train 错误
- ios - 为获取 EXC_BAD_ACCESS 的 CustomUiView 设置委托
- leakcanary - 设置 LeakCanary 时遇到问题
- javascript - Safari 中的 beforeunload 事件的错误确认和归档建议(webkit?)w/控制台关闭
- html - 无法对齐 div
- r - 鼠标悬停时出现小部件
- python - 没有用户会话时,Pywinauto 自动化失败
- python - 数据分区的多处理
- php - Laravel:为 foreach() 提供的参数无效