首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MS SQL词条问题

MS SQL词条问题
EN

Stack Overflow用户
提问于 2014-05-16 23:06:26
回答 1查看 61关注 0票数 0

我有两栏

代码语言:javascript
复制
Item    |   Category

Apple      Fruit
Orange     Fruit
Potatoes   Vegetables

所需产出:

水果

我正试图从数量上得到最高类别的名称,即水果。我编写了一个在MySql上工作的MySql查询。但是,相同的查询会在上引发一个错误。任何提示都将不胜感激。

代码语言:javascript
复制
select Cat from (select count(category) as Total,category as cat from test group by category) as S1 group by S1.Total,S1.Cat having max(s1.total)

当我运行这个时,我会得到一个空的结果。但是,我创建的类似查询在MySql上运行良好:

代码语言:javascript
复制
SELECT s2.cats FROM (SELECT s1.cat AS cats, max(s1.counts) AS countings FROM (SELECT count(category) AS counts, category AS cat from test GROUP BY category) AS s1) AS s2

我得到的错误消息是: Msg 4145、级别15、状态1、第1行--在期望条件的上下文中指定的非布尔类型的表达式,近‘’。

我想避免使用顶部

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-16 23:29:27

像这样吗?很丑,但避开托普。同时,还将返回所有具有最大计数的项,而不仅仅是任意项。

假设有列类别的餐桌食品:

代码语言:javascript
复制
select category from Food group by Category having COUNT(*) = 
(select max(cnt) from (select COUNT(*) as cnt from Food group by Category) subq)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23705784

复制
相关文章

相似问题

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