首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >sql查询所需的指导

sql查询所需的指导
EN

Stack Overflow用户
提问于 2016-05-17 14:22:16
回答 2查看 915关注 0票数 0

我有一个有一个表的数据库,如下所示。在这里,我试图写一个查询来显示由生产最多药品的公司生产的药品的名称。

通过查看表格,我们可以说出属于id 1和2公司的药品名称,因为那些公司根据这个表生产的药品最多,但我不知道如何编写一个查询来选择我之前说过的。

代码语言:javascript
运行
复制
ID  | COMPANY_ID |  MEDICATION_NAME

1     1         ASPIRIN

2     1         GLUCERNA

3     2         SIBUTRAMINE

4     1         IBUPROFEN

5     2         VENOFER

6     2         AVONEN

7     4         ACETAMINOPHEN

8     3         ACETAMINO

9     3         GLIPIZIDE

请分享你的建议。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-05-17 14:39:55

做这件事的几种方法。首先使用子查询获取最大计数,然后使用另一个子查询获取具有该计数的公司,最后使用外部查询返回结果:

代码语言:javascript
运行
复制
select * 
from yourtable
where companyid in (
  select companyid
  from yourtable
  group by companyid
  having count(1) = (
    select count(1) cnt 
    from yourtable
    group by companyid
    order by 1 desc
    limit 1
    )
)
  • SQL Fiddle演示
票数 1
EN

Stack Overflow用户

发布于 2016-05-17 14:45:13

此查询可能有效。我还没有测试过,但逻辑是正确的。

代码语言:javascript
运行
复制
SELECT MEDICATION_NAME 
FROM TABLE where 
COMPANY_ID=(SELECT 
           MAX(counted) 
           FROM ( SELECT COUNT(*) AS counted FROM TABLE ) AS counts);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37278843

复制
相关文章

相似问题

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