首页 > 解决方案 > 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 表达式

这里有什么问题?

谢谢!

标签: sqloraclegroup-bydistinct

解决方案


你正在混合DISTINCTGROUP BY。使用其中之一。

以下两个查询都将产生预期的结果。

选项1 :

SELECT DISTINCT DATE, COL FROM MYDATA

选项 2:

SELECT DATE, COL FROM MYDATA GROUP BY DATE, COL

推荐阅读