使用Oracle仅在一列上选择distinct

时间:2017-01-02 16:42:03

标签: oracle

我因为在一组列

上只选择一个disctint列而感到生气

假设我有这个问题:A B C D 1 2 8 5 1 2 2 5 1 2 3 5

这是输出

A B C D
1 2 8 5

但我想要这样的事情:

$(this)

我怎么能实现这个目标?

感谢所有人!

3 个答案:

答案 0 :(得分:0)

一种方法是按C列降序排序结果,然后只取第一行:

SELECT * FROM (
    SELECT A, B, C, D
    FROM TABLE_NAME
    WHERE A = 1
    ORDER BY C DESC
)
WHERE ROWNUM = 1;

答案 1 :(得分:0)

选择A,B,max(C)C,D 来自table_name 按A,B,D分组

答案 2 :(得分:0)

如果您想在C中使用最高数字的结果,请尝试以下查询 SELECT A,B,C,D FROM表WHERE A = 1 AND C IN(SELECT MAX(C)FROM table);