呵呵,居然有了面试,可惜的是在二十选二的情况下我被淘汰了,感觉很难过.对于一个应届没有背景的学生来说,南天对我来说是一个“高地”了,也知道登顶的几率很小,所以说这次失败没什么意外。只希望将来有一天我能被他们承认,这个时间也不要太长,那么不管去不去我都知足了。
源于我的 站:http://programmer.2008red.com/programmer/article_647_2859_1.shtml
先苦一个,现在找工作真是难啊!
好了,昨天去南天软件做了个笔试,有这么个题目,当时做的时候我都晕的没方向了,时间用过了火,所以觉得整个笔试垃圾,复试估计也没戏,不过回来后还是认真再做了一次这个题目。
是这样的,有下面两个表。
staff为员工的信息,order为员工业绩,现在想查找出处在前三名业绩的员工信息。
我刚想出来的:
select top 3 id,name,count from(select * from staff as ss join(select [order].id as idd,count([order].id) as [count] from [order] group by [order].id)s on s.idd=ss.id)sss order by sss.count desc
我改进后的:
select id,name,count from(select * from staff as ss join(select top 3 [order].id as idd,count([order].id) as [count] from [order] group by [order].id order by count desc)s on s.idd=ss.id)sss order by sss.count desc
很容易看的出来,前者取了很多无用功,很多没有用到的数据也给取出来了,改进后的只取了前三名的信息,不过最好排序,不然结果出的id的顺序为234了
最后的结果为:

@uonun说的方法很好,还有就是用join on事实上是看了@uonun才明白的。
select staff.id,name,[count] from staff join( select TOP 3 id,count(id) as [count] from [order] group by id order by [count] desc )T on staff.id = T.id order by [count] desc
文章知识点与官方知识档案匹配,可进一步学习相关知识C技能树首页概览114893 人正在系统学习中 相关资源:南 2013计量自动化上行规约调试软件-互联 文档类资源-CSDN文库
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!