SQL查询多记录

时间:2016-08-19 09:22:00

标签: sql oracle

在Oracle数据库中,我有这样的记录:

Column A     Column B
---------------------
Test            R
Test            W
Test2           W
Test3           K
Test3           X
Test4           Y

只有这些记录应该是我的输出

Column A      Column B
-----------------------
Test            R
Test2           w
Test3           K
Test4           Y

我尝试过如下查询:

select * 
from X.table 
where Column A = 'Test' and Column B = 'R';

如何实现多条记录?

2 个答案:

答案 0 :(得分:0)

这将返回预期结果:

select columnA, min(columnB)
from X.table
group by columnA

对于每个columnA值,返回最低的columnB值。

答案 1 :(得分:0)

我认为这可以通过分区来解决(注意:这是Oracle SQL):

select*
from
  (
  select x.*
        , row_number() over (partition by column_a order by column_b) rn 
  from x
  )
where rn =1;