代码之家  ›  专栏  ›  技术社区  ›  ℕʘʘḆḽḘ

Oracle:如何按组获取唯一值?

  •  0
  • ℕʘʘḆḽḘ  · 技术社区  · 6 年前

    我有一个数据库表,如下所示:

    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:不是按表达式分组

    这里的问题是什么?

    谢谢!

    1 回复  |  直到 6 年前
        1
  •  3
  •   GMB    6 年前

    你在搅拌 DISTINCT GROUP BY . 使用其中一个或另一个。

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

    选项1:

    SELECT DISTINCT DATE, COL FROM MYDATA
    

    选项2:

    SELECT DATE, COL FROM MYDATA GROUP BY DATE, COL