南天软件c语言笔试题,南天软件一数据库笔试题

呵呵,居然有了面试,可惜的是在二十选二的情况下我被淘汰了,感觉很难过.对于一个应届没有背景的学生来说,南天对我来说是一个“高地”了,也知道登顶的几率很小,所以说这次失败没什么意外。只希望将来有一天我能被他们承认,这个时间也不要太长,那么不管去不去我都知足了。

源于我的 站: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了

最后的结果为:

20090606105934.GIF

@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进行处理,非常感谢!

上一篇 2021年4月20日
下一篇 2021年4月20日

相关推荐