sql如何求分组计数之后计数的最大值 50

 我来答
greystar_cn
2018-03-14 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部

插入测试记录:

[sql] view plain copy

insert into students values('数学','Jack','Tianjin',80)  

insert into students values('数学','Jordan','Tianjin',80)  

insert into students values('数学','James','Beijing',55)  

insert into students values('英语','Jack','Tianjin',90)  

insert into students values('英语','Jordan','Tianjin',60)  

insert into students values('英语','James','Beijing',100)  

insert into students values('语文','Jack','Tianjin',60)  

insert into students values('语文','Tom','Tianjin',77)  

insert into students values('语文','Jordan','Tianjin',68)  


想要抓取每个科目第一名的整条信息,可以使用Row_number()函数:

select  *  

from (  

select course,stu_name,city,score,ROW_NUMBER() over(partition by course order by score desc) as rn  

from students  

) a  

where a.rn <=1;    

以温柔待之
2015-07-16 · TA获得超过502个赞
知道小有建树答主
回答量:362
采纳率:60%
帮助的人:158万
展开全部
  1. 分组查询,查询出每组数据的数量

    1. select count(*) from table group by xx

  2. 以上一个sql为结果集,查询出最大的数量

    1. select max(xx) from (select count(*) from table group by xx ) a

    2. a是取的别名

    3. xx是你分组的表的列名

    4. table换成表名

更多追问追答
追问
题目是显示选课门数最多同学的学号和选课门数
追答
你的表结构是什么样子的,1张表吗,给我截个图也许啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
依旧在北漂
2015-07-16 · TA获得超过164个赞
知道小有建树答主
回答量:258
采纳率:58%
帮助的人:57.5万
展开全部
用子查询啊
select max(a) from (select X1,X2,count(*) as a from table group by X1,X2) a
我说的绝对没问题。
子查询,X1,X2指你分组的字段,count(*) 指分组后的行数(计数),并定义别名是a
主查询 查最大的技术 注意 from 后面的子查询也定义了一个表别名
追问
题目是显示选课门数最多同学的学号和选课门数

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
joy0084868
2015-07-16 · TA获得超过2551个赞
知道大有可为答主
回答量:4914
采纳率:54%
帮助的人:1288万
展开全部
select max(count(字段)) from 表名称 where 条件
追问
报错,好像不能套用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式