我有以下表格列和值...
ColA, ColB, ColC
b, 90, 1
p, 95, 5
p, 100, 6
p, 99, 6
p, 98, 6
b, 94, 5
b, 93, 1
b, 92, 3
o, 89, 3
b, 88, 4
我需要以下结果集:
ColA, ColB, ColC
b, 90, 1
b, 93, 1
p, 95, 5
o, 89, 3
基本上,这是ColC的最低值,其中ColA是相同的。因此,所有b的最低值为1,它出现在两行中。所有p的最低值是5,所有o的最低值是3.ColB是要在另一个表上连接的值。所以我确实需要一个将通过ColB加入另一个表的查询。
感谢。
答案 0 :(得分:1)
试试这个
select mainTable.* from abcTable as mainTable inner join
(select t.colA,min(t.colC) as minColC from abcTable as t group by t.ColA) as minimumTable
on mainTable.colA=minimumTable.ColA and mainTable.colC=minimumTable.minColC
答案 1 :(得分:0)
你走了!
with r1 as
(select *
,rank() over (partition by ColA order by ColC) fix
from aba
)
select * from r1 where fix = 1