Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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
Ms access 在access中修改查询的步骤_Ms Access_Vba - Fatal编程技术网

Ms access 在access中修改查询的步骤

Ms access 在access中修改查询的步骤,ms-access,vba,Ms Access,Vba,我有一个查询,结果如下 field1 field2 field3 field4 field5 23 gfhf ghjj 5 49 23 ghf jkll 6 45 67 bnvn nmb 7 45 89 gfh hjj 8 78 89 gfhg hk 9 23 这里的

我有一个查询,结果如下

field1  field2  field3  field4  field5
23      gfhf    ghjj       5        49
23      ghf     jkll       6        45
67      bnvn    nmb        7        45
89      gfh     hjj        8        78
89      gfhg    hk         9        23
这里的前两条和后两条记录是一样的。 我只想要一个基于字段4和字段5的。 i、 e以字段4中的最小值和最大值为准 第五场

我想要下面的结果

field1  field2  field3  field4  field5
23      gfhf    ghjj       5        49
67      bnvn    nmb        7        45
89      gfh     hjj        8        78

谢谢

为了使您的顺序正确,您需要创建一个新的查询,该查询将输入作为您现有的查询

为了方便起见,请调整当前查询,使结果按您希望的方式排序,字段4升序,字段5降序

创建一个新查询,从现有查询中选择所有值

在该新查询的设计器中,右键单击并添加总计 为字段1选择分组依据,然后首先为所有其他字段选择分组依据


这应该满足您的需要

首先确定要与字段1关联的字段4的最小值和字段5的最大值

SELECT field1, Min(field4) AS MinField4, Max(field5) AS MaxField5
FROM Table1
GROUP BY field1;
将此查询另存为,比如Query1,然后将其连接回表1,以获取字段2和字段3的值

SELECT Query1.field1, Table1.field2, Table1.field3, Query1.MinField4,
       Query1.MaxField5
FROM   Query1 INNER JOIN Table1 ON (Query1.field1 = Table1.field1) AND
       (Query1.MinField4 = Table1.field4) AND
       (Query1.MaxField5 = Table1.field5);

这不是根据字段4和字段5对所有记录进行排序就可以得到所有记录吗?这就是总数停止的原因。他们为字段1的每个值选择排序查询中的第一行。我认为您所述的所需代码是矛盾的。对于ID23,取字段2的MAX(),但是对于ID89,取MIN()。这是不一致的。同样地,对于字段3,对于ID 23,您使用的是MIN(),但是对于ID 89,使用的是MAX()。如果你给出的结果真的是你想要的,我只是看不到任何SQL方法可以得到这个结果,除非有一些数据遗漏了,这些数据决定了你是想要给定折叠行的MIN()还是MAX()。事实上,我不考虑字段2和字段3,我只关心字段4和5