我从来没有真正做过ms access查询,但今天我需要一个。我有两张桌子,模型和订单。来自第一个表的两个字段:数字和颜色,来自第二个唯一的数字,它只能等于来自表“模型”的数字的值。我需要的是选择最常用的颜色。在mysql中,这将类似于
SELECT models.color, orders.number FROM models
INNER JOIN orders ON (orders.number =models.number)
group by color
order by count(color) desc limit 1但是在ms-access中,这似乎不起作用,如何在ms-access中编写查询来做同样的事情呢?
发布于 2012-11-05 18:08:45
试试这个:
SELECT TOP 1 models.color, COUNT(orders.number) FROM models
INNER JOIN orders ON (orders.number=models.number)
GROUP BY models.color
ORDER BY 2 desc发布于 2012-11-05 18:07:15
你需要做的就是摆脱限制,转而使用Top 1:
SELECT Top 1 models.color FROM models
INNER JOIN orders ON (orders.number =models.number)
group by color
order by count(color) Desc但是,对于Top n有一个警告,在MS Access中,Top n将返回匹配项,因此如果几个项目具有相同的计数,则所有项目都将返回。如果这不适合,您也可以通过按唯一id排序来解决此问题:
order by count(color) desc, OrderID另请注意,数字是保留字。
https://stackoverflow.com/questions/13229802
复制相似问题