MSaccess 2007 SQL复杂查询

时间:2017-08-26 16:43:43

标签: sql ms-access-2007

我有以下表格列和值...

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加入另一个表的查询。

感谢。

2 个答案:

答案 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