0

我从来没有真正做过 ms 访问查询,但今天我需要一个。我有 2 张桌子、模型和订单。从第一个表开始,这里有 2 个字段感兴趣:数字和颜色,从第二个数字开始,它只能等于表 "models" 中的数字值。我需要的是选择最常见的颜色。在 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 中做同样的事情?

4

2 回答 2

3

试试这个:

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-05T10:08:44.630 回答
2

您只需要摆脱限制并使用 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

另请注意,数字是保留字。

于 2012-11-05T10:07:14.587 回答