如何在access的一个表中选出一个列中出现次数最多的·条目然后group by 该表中的另一列
1个回答
展开全部
如果是我
需要的工具原料,ACCESS软件
1、做一个记数 Count(Total.CardID),按一列CardID分组查询。名为查询1。
SELECT Count([Total].[CardID]) AS 计数, [Total].[CardID]
FROM Total
GROUP BY [Total].[CardID];
2、在记数查询的基础上做一个最大数Max查询。名了查询2。
SELECT Max(查询1.计数) AS 计数之最大值
FROM 查询1;
3、将查询2的计数和查询1中的计算做关联,把把查询1中的另一字段和表中相同字段做关联,在此基础上做一个新查询。
SELECT Total.ProductID, 查询1.CardID
FROM (查询2 INNER JOIN 查询1 ON 查询2.计数之最大值 = 查询1.计数) INNER JOIN Total ON 查询1.[CardID] = Total.[CardID]
GROUP BY Total.ProductID, 查询1.CardID;
我想应该还有其它办法。
思路就是先计数,再得到最大值,最大值和计数查询中的值关联,再关联到数据表,得出结果。
注意事项:三个查询之间的关系。一定是最大数查询在前,计数查询在中,数据表查询在后。
需要的工具原料,ACCESS软件
1、做一个记数 Count(Total.CardID),按一列CardID分组查询。名为查询1。
SELECT Count([Total].[CardID]) AS 计数, [Total].[CardID]
FROM Total
GROUP BY [Total].[CardID];
2、在记数查询的基础上做一个最大数Max查询。名了查询2。
SELECT Max(查询1.计数) AS 计数之最大值
FROM 查询1;
3、将查询2的计数和查询1中的计算做关联,把把查询1中的另一字段和表中相同字段做关联,在此基础上做一个新查询。
SELECT Total.ProductID, 查询1.CardID
FROM (查询2 INNER JOIN 查询1 ON 查询2.计数之最大值 = 查询1.计数) INNER JOIN Total ON 查询1.[CardID] = Total.[CardID]
GROUP BY Total.ProductID, 查询1.CardID;
我想应该还有其它办法。
思路就是先计数,再得到最大值,最大值和计数查询中的值关联,再关联到数据表,得出结果。
注意事项:三个查询之间的关系。一定是最大数查询在前,计数查询在中,数据表查询在后。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询