SQL查询并排序问题 15
现有如下表(见图),列zgID表示职工ID,xmID表示项目ID,cdWORK表示承担工作。现想查询职工平均承担了多少份工作,并按承担工作多少降序排序。用SQL语句怎么实...
现有如下表(见图),列zgID表示职工ID,xmID表示项目ID,cdWORK表示承担工作。现想查询职工平均承担了多少份工作,并按承担工作多少降序排序。用SQL语句怎么实现呢?想了半天没想明白。谢谢大神热心的回答!!
展开
3个回答
展开全部
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是有区别的!
此中排序字段是索引条件中字段,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是有区别的!
展开全部
你这描述有问题吧,查询职工平均工作量,不应该是所有工作总量除以总人数吗?
这得出来就一个数啊,还排啥序?你的问题应该是统计每个职工的工作量再排序吧?
SELECT zgID, COUNT(cdWORK) `total_work` FROM 表名 GROUP BY zgID ORDER BY `total_work` DESC;
这得出来就一个数啊,还排啥序?你的问题应该是统计每个职工的工作量再排序吧?
SELECT zgID, COUNT(cdWORK) `total_work` FROM 表名 GROUP BY zgID ORDER BY `total_work` DESC;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询