MAccessic 2007 SQL 复杂查询

MSaccess 2007 SQL complex query

我有以下 table 列和值...

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

本质上,这是 ColA 相同时 ColC 的最低值。所以所有 b 的最小值为 1,它出现在两行中。所有 p 的最低值为 5,所有 o 的最低值为 3。ColB 是要加入另一个 table 的值。所以我确实需要一个查询,它将通过 ColB 加入另一个 table。

谢谢。

给你!

with r1 as
(select *
,rank() over (partition by ColA order by ColC) fix
from aba
)

select * from r1 where fix = 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