Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MSaccess 2007 SQL复杂查询_Sql_Ms Access 2007 - Fatal编程技术网

MSaccess 2007 SQL复杂查询

MSaccess 2007 SQL复杂查询,sql,ms-access-2007,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。Col

我有下表中的列和值

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连接到另一个表上

谢谢。

给你

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

你确定MS Access支持排名吗?我认为MSAccess 2007不支持这一点。人们仍然使用MS Access吗?我以为这是MS SQL Server。很抱歉成功了!谢谢你!Eid-我不再需要第二个“b”结果行。我只想要ColA分组的行,它具有最低的ColC值;如果是平局,那么最高的ColB决定了平局。如果他们在ColC和ColB上打成平局,那么只返回一排,我不在乎哪一排。您可以这样做吗?从abcTable中选择distinct mainTable.colA,maxmainTable.ColB,mainTable.ColC作为mainTable内部连接从abcTable中选择t.colA,mint.ColC作为minColC作为t group by t.colA作为mainTable上的minimumTable.colA和mainTable.ColC=minimumTable.minColC group by mainTable.colA,mainTable.ColC