sql - oracle:如何按组获取唯一值?
问题描述
我有一个如下的数据库表:
date col
1 A
1 A
1 B
2 C
我想获得col
每个的唯一值date
。所以作为我正在寻找的输出:
date col
1 A
1 B
2 C
我尝试了以下但没有成功:
SELECT DISTINCT DATE, COL
FROM MYDATA
GROUP BY DATE
但我得到:
ORA-00979: 不是 GROUP BY 表达式
这里有什么问题?
谢谢!
解决方案
你正在混合DISTINCT
和GROUP BY
。使用其中之一。
以下两个查询都将产生预期的结果。
选项1 :
SELECT DISTINCT DATE, COL FROM MYDATA
选项 2:
SELECT DATE, COL FROM MYDATA GROUP BY DATE, COL
推荐阅读
- visual-studio-code - 禁用路径共享功能后无法从 WSL 终端启动 VS Code
- javascript - Bootstrap-vue如何在方法结束时显示alert和dismiss?
- c# - 如何检查是否正在使用 BindableProperty?
- python - 不能将 color_mode = 'grayscale' 与灰度 JPEG 一起使用
- ios - Flutter 无法捕获已终止 ios 应用程序的通知
- python - 为什么 ThreadPoolExecutor 忽略异常?
- json - 当我已经将该字段设置为可为空时。它没有优雅地解析信息。可能是什么问题?
- javascript - 如何将数组与使用本地存储的不同数组连接起来
- sql - Oracle SQL:基于行的重启顺序
- git - GitLab 中未显示的口音