SQL查询并排序问题 15

现有如下表(见图),列zgID表示职工ID,xmID表示项目ID,cdWORK表示承担工作。现想查询职工平均承担了多少份工作,并按承担工作多少降序排序。用SQL语句怎么实... 现有如下表(见图),列zgID表示职工ID,xmID表示项目ID,cdWORK表示承担工作。现想查询职工平均承担了多少份工作,并按承担工作多少降序排序。用SQL语句怎么实现呢?想了半天没想明白。谢谢大神热心的回答!! 展开
 我来答
师峭都cC
2019-06-25 · TA获得超过6864个赞
知道大有可为答主
回答量:9831
采纳率:79%
帮助的人:405万
展开全部
select * from 表 where 字段 in (x1,x2,x3,x4.....) order by 字段 ASC/DESC
此中排序字段是索引条件中字段,ASC为升序,DESC为降序,此中的排列会以X1,X2,X3排序,但X1可能有很多数据,如果在X1内部排序,请加上第二排序。
select * from 表 where 字段 in (x1,x2,x3,x4.....) order by 字段 ASC/DESC,字段2 ASC/DESC
表达式是在X1,X2等排序的基础上再按字段2进行排序!
我就不明白,如何是多数据,X1,X2等又包含多个条记录,你就不想用Group呢?
你想看一下group by 的使用方法,对时可以对分组条件进行限定,关键词是having,使用方法类where,但与where是有区别的!
xxcanying
2019-06-26 · TA获得超过405个赞
知道小有建树答主
回答量:414
采纳率:66%
帮助的人:101万
展开全部
你这描述有问题吧,查询职工平均工作量,不应该是所有工作总量除以总人数吗?
这得出来就一个数啊,还排啥序?你的问题应该是统计每个职工的工作量再排序吧?
SELECT zgID, COUNT(cdWORK) `total_work` FROM 表名 GROUP BY zgID ORDER BY `total_work` DESC;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
姑娘你闹啥
2019-06-26 · TA获得超过387个赞
知道小有建树答主
回答量:477
采纳率:70%
帮助的人:130万
展开全部
select avg(cnt) avg_cnt,zgID from(select count(1) cnt,zgID,xmID,cdWORK from table group by zgID,xmID,cdWORK ) group by zgID order by cnt
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式