查询以基于汇总值列表选择行

时间:2013-07-11 13:07:20

标签: access-vba ms-access-2010

我想知道是否有办法在Microsoft Access(2010)中执行此结果查询而不编写VBA代码。

我有一个这样的数据表(更多字段,但只显示计数的数据):

Customer ID       City Name
1                 Chicago
2                 Chicago
3                 New York
4                 San Antonio
5                 Seattle
6                 Seattle
7                 Walbash
8                 Walbash

我想只为每个城市选择一行。例如,我想为芝加哥选择第1行或第2行。

结果结果看起来与此类似

Customer ID       City Name
1                 Chicago
3                 New York
4                 San Antonio
etc

2 个答案:

答案 0 :(得分:0)

SELECT First(Table1.CustomerID) AS FirstOfCustomerID, Table1.CityName
FROM Table1
GROUP BY Table1.CityName;

使用First()的其他选项示例包括Min()Max()

编辑:

创建上述查询,然后与原始表进行连接以选择记录。我将上述查询命名为Q1,原始表格为Table1

SELECT Q1.FirstOfCustomerID, Q1.CityName, Table1.Data
FROM Q1 INNER JOIN Table1 ON Q1.FirstOfCustomerID = Table1.CustomerID;

答案 1 :(得分:0)

尝试这样的事情:

select *
from Table1 t1
where t1.CustomerID = (select min(t2.CustomerID) from table1 t2 where t1.CityName = t2.CityName)
order by t1.CustomerID