首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ms-access查询

ms-access查询
EN

Stack Overflow用户
提问于 2012-11-05 18:03:53
回答 2查看 184关注 0票数 0

我从来没有真正做过ms access查询,但今天我需要一个。我有两张桌子,模型和订单。来自第一个表的两个字段:数字和颜色,来自第二个唯一的数字,它只能等于来自表“模型”的数字的值。我需要的是选择最常用的颜色。在mysql中,这将类似于

代码语言:javascript
复制
    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中编写查询来做同样的事情呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-05 18:08:45

试试这个:

代码语言:javascript
复制
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
票数 3
EN

Stack Overflow用户

发布于 2012-11-05 18:07:15

你需要做的就是摆脱限制,转而使用Top 1:

代码语言:javascript
复制
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排序来解决此问题:

代码语言:javascript
复制
order by count(color) desc, OrderID

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13229802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档