新足迹

 找回密码
 注册

精华好帖回顾

· 我的开颅手术经历,赞珀斯公立医院SCGH (2020-9-26) G52 · 双职工家庭的福音之十一 挑战味觉的麻婆豆腐 (2005-5-21) binbingogo
· 刷屋顶回馈交作业——屋顶清洗,修补,刷漆。从小白到入门,你一定能受到启发 (2020-11-5) 明若晓溪杨 · 五香麻辣锅巴 (2007-6-23) datou2z
Advertisement
Advertisement
查看: 1633|回复: 23

测试一下你的t-sql的水平如何 [复制链接]

发表于 2010-11-9 14:47 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
http://beyondrelational.com/tc/default.aspx?PageIndex=1

It's one of my favorite sql games ever.

Enjoy it!!
Advertisement
Advertisement

退役斑竹

发表于 2010-11-9 14:51 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
是从1开始做吗?

发表于 2010-11-9 14:55 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
最后一页是Challenge1,倒着往前作就好.

http://beyondrelational.com/tc/default.aspx?PageIndex=42

我原来是每2个星期做一个,很有意思。

这是全部的:
http://beyondrelational.com/tc/all.aspx

[ 本帖最后由 乱码 于 2010-11-9 16:56 编辑 ]

发表于 2010-11-9 14:56 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 月亮 于 2010-11-9 15:51 发表
是从1开始做吗?


月亮不是作sql server的吧?

其他的db可能有syntex的不同,不过基本上也差不多。

退役斑竹

发表于 2010-11-9 15:15 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 乱码 于 2010-11-9 15:56 发表


月亮不是作sql server的吧?

其他的db可能有syntex的不同,不过基本上也差不多。


就是做sql server的,正在做3呢,挺有意思的,有很多tricky

发表于 2010-11-9 15:47 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 月亮 于 2010-11-9 16:15 发表


就是做sql server的,正在做3呢,挺有意思的,有很多tricky


那你可以参加SQL Server Quiz

http://beyondrelational.com/quiz ... l/2010/default.aspx

做好了有奖拿,那些Quiz Masters大部分都在msdn tsql那边混,那个12号,是澳洲人.

2号和14号是我偶像.
Advertisement
Advertisement

发表于 2010-11-9 17:12 |显示全部楼层
此文章由 jerryclark 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 jerryclark 所有!转贴必须注明作者、出处和本声明,并保持内容完整
收藏一下 谢谢LZ

发表于 2010-11-9 20:09 |显示全部楼层
此文章由 rdcwayx 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 rdcwayx 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 月亮 于 2010-11-9 15:15 发表


就是做sql server的,正在做3呢,挺有意思的,有很多tricky


有做出来的,能贴上来给大家看看,可以互相学习。

我看了一下,很多可以用shell 脚本实现。如果有结果了,也放几段上来啊。

发表于 2010-11-9 20:24 |显示全部楼层

TSQL Challenge 32 - Clean up phrases by removing noise words

此文章由 rdcwayx 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 rdcwayx 所有!转贴必须注明作者、出处和本声明,并保持内容完整
http://beyondrelational.com/blog ... ng-noise-words.aspx
  1. $ cat Noise.Words
  2. WordID      Word
  3. ----------- ------------------------------
  4. 1           and
  5. 2           to
  6. 3           from
  7. 4           the
  8. 5           back
  9. 6           go

  10. $ cat phrases
  11. ID   Phrase
  12. ---- ---------------------------------------
  13. 1    All people are born equal
  14. 2    And the longest day was today
  15. 3    From mother accept this precious gift
  16. 4    Going forward to
  17. 5    Go back home

  18. $ awk '
  19. NR==FNR&&NR>2{a[$2];next}
  20. FNR>2 {s=$0; $1="";for (i=2;i<=NF;i++) if (tolower($i) in a) {$i=""}; gsub(/ +/," ");printf "%-40s\t%-40s\n", s,$0 }
  21. ' Noise.Words phrases

  22. 1    All people are born equal                   All people are born equal
  23. 2    And the longest day was today               longest day was today
  24. 3    From mother accept this precious gift       mother accept this precious gift
  25. 4    Going forward to                            Going forward
  26. 5    Go back home                                home
复制代码

退役斑竹

发表于 2010-11-9 20:37 |显示全部楼层
此文章由 月亮 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 月亮 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 rdcwayx 于 2010-11-9 21:09 发表


有做出来的,能贴上来给大家看看,可以互相学习。

我看了一下,很多可以用shell 脚本实现。如果有结果了,也放几段上来啊。


有答案的

发表于 2010-11-10 08:38 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 rdcwayx 于 2010-11-9 21:09 发表


有做出来的,能贴上来给大家看看,可以互相学习。

我看了一下,很多可以用shell 脚本实现。如果有结果了,也放几段上来啊。


最新的是42,它现在还没有答案。这个是本月1号出来的,你可以尝试用t-sql作以下(他们不接受shell和其他语言的solution,bad!),然后把你的solution submit.

不过,我感觉已经比较晚了,很多人在前两天内就交答案了,迟一点只有看热闹的份。

[ 本帖最后由 乱码 于 2010-11-10 09:39 编辑 ]
Advertisement
Advertisement

发表于 2010-11-10 09:37 |显示全部楼层
此文章由 rdcwayx 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 rdcwayx 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我看了一下,42题本身要求的答案有逻辑问题:

Employee Code1 Pay1 Code2 Pay2 Code3 Pay3 Code4 Pay4
-------- ----- ---- ----- ---- ----- ---- ----- ----
10001    R     6.75 O     1.00 H     1.50       0.00
10002    R     8.00 I     2.50       0.00       0.00

第一,小时和分钟被转成小数, 比如出现 6.75这个数值,不能算做好的时间输出,应该是6:45 (六小时45分钟),也就是这个原因,出题的人要限制原始的分钟必须是15,30,45,00,其实这违反实际应用的。

还有就是输出排列上,不确定,不是按照 R O I H 固定顺序排列。
  1. awk -vR="R" -vI="I" -vO="O" -vH="H" '
  2. function m1(s) {split(s,e,":");f=e[1]+e[2]/60;return f}
  3. function m2(r) {if (r=="") return "0.00";else return r}
  4. NR>2 {a[$1 FS $2]+=m1($3);b[$1]}
  5. END {for (x in b) printf "%s\t%s\t%.2f\t%s\t%.2f\t%s\t%.2f\t%s\t%.2f\n", x,R,m2(a[x FS R]),O,m2(a[x FS O]),I,m2(a[x FS I]),H,m2(a[x FS H])}
  6. '  infile
复制代码
  1. 10001   R       6.75    O       1.00    I       0.00    H       1.50
  2. 10002   R       8.00    O       0.00    I       2.50    H       0.00
复制代码

[ 本帖最后由 rdcwayx 于 2010-11-10 10:28 编辑 ]

发表于 2010-11-10 09:49 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 rdcwayx 于 2010-11-10 10:37 发表
我看了一下,42题本身要求的答案有逻辑问题:

Employee Code1 Pay1 Code2 Pay2 Code3 Pay3 Code4 Pay4
-------- ----- ---- ----- ---- ----- ---- ----- ----
10001    R     6.75 O     1.00 H     1.50       0.00
...


既然是challenge,它就和应用联系不大,it's all about sharping ur sql skills.

如果你看看原来的题目,你就没有这种要求了。

没事干的时候,做一下很好玩。

2010年度奖章获得者

发表于 2010-11-10 09:54 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
有没有c# 的兴趣题?

sql 太boring了 :)

发表于 2010-11-10 10:19 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-11-10 10:54 发表
有没有c# 的兴趣题?

sql 太boring了 :)


c#和 sql写东西的时候用的是不同的思维,如果抛开c#强大的lib来说的话,它注重底层如何实现,这是传统developer的习惯思路,也是所有algorithm作的事情。

sql用到更多的是set的思维,更注重在rule,底层的算法都交给engine去做了.用好了sql,会让你的程序非常powerful,把linq没有出来之前,如果你不想自己实现底层算法,就可以借助sql engine,实现很复杂的logic从而不用关心底层的实现。

我有半年没在工作中用sql/c#,个人感觉c#拣起来非常容易,sql恢复到原来巅峰时候的水平,还是需要几天的。

[ 本帖最后由 乱码 于 2010-11-10 11:30 编辑 ]

2010年度奖章获得者

发表于 2010-11-10 10:32 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
sql 我真的有好几年没用了, 在可见的将来也不会用到。。。:)
Advertisement
Advertisement

发表于 2010-11-10 11:12 |显示全部楼层
此文章由 rdcwayx 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 rdcwayx 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 月亮 于 2010-11-9 20:37 发表


有答案的

我的意思是,没必要看已有的答案,你自己写的贴上来。

发表于 2010-11-10 11:13 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-11-10 11:32 发表
sql 我真的有好几年没用了, 在可见的将来也不会用到。。。:)


sql现在对.net devloper是第二大skill(第一大是c#),没事看看,说不定以后转去做dba呢,easy job,good money!!

2010年度奖章获得者

发表于 2010-11-10 11:14 |显示全部楼层

回复 18# 的帖子

此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
no way I'd take dba jobs... i'd rather kill myself :)

发表于 2010-11-10 11:34 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-11-10 12:14 发表
no way I'd take dba jobs... i'd rather kill myself :)


ask 月亮 about it, she's DBA, I believe.

2010年度奖章获得者

发表于 2010-11-10 12:06 |显示全部楼层
此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
月亮是流行歌星 + SQL 收入一定有7位数。
Advertisement
Advertisement

发表于 2010-11-10 12:20 |显示全部楼层
此文章由 dayang 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dayang 所有!转贴必须注明作者、出处和本声明,并保持内容完整
呵呵,这个有意思

发表于 2010-11-10 12:47 |显示全部楼层
此文章由 乱码 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 乱码 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 dalaohu 于 2010-11-10 13:06 发表
月亮是流行歌星 + SQL 收入一定有7位数。


sure, DBA跟流行歌星收入比起来,领头都算不上

2010年度奖章获得者

发表于 2010-11-10 12:50 |显示全部楼层

回复 23# 的帖子

此文章由 dalaohu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dalaohu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
歌星都需要一个DBA 建个大行数据库来管钱。

所以月亮自己就做DBA了。

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部