返回信息流很久不搞sql了。整天就是java, java,也挺无聊的。
其实想想,sql还是挺好玩的,尤其是把别人吭哧吭哧几百行的stored procedure改写成一个简洁的query,或者一个本来要跑十分钟的stored proc改成几秒钟,感觉还是满爽的。
闲来无事,把一些小技巧回忆下来,省得以后考人的时候想不起来了。
1。一个基金performance表,记录着每个基金的每个月相比于前一个月的增长百分率,比如:
一月: 2.1(%)
二月: -0.5 (%)
三月:
...
十二月:15 (%)
基金用基金ticker来标识。
请列出每个基金从去年五月到今年五月的总共增长。
2。每个基金每个月都有打分,从一分到五分。请列出最近一年内每个基金被打五分的次数,四分的次数,三分的次数。如果一个基金被打至少三分的次数少于两次,就不要列出来了。
3。请针对上一年列出每个基金增长最好的那个月,包括基金ticker,当月的增长百分比,当月打分。如果两个月增长幅度相同,选择打分高的那个月;如果打分也相同,选择最近发生的那个月。
4。假设基金表不小心出现了重复数据,也就是ticker, 月份都相同,但是id是主键,唯一的。请删除重复记录。对重复记录,保留打分高的那条,如果打分也一样,保留其中任意一条。(其实,这个和三是一样的,不过算一个比较常见的dba要面临的问题)
(答案回头有时间写出来。提示:珍爱生命,远离存储过程!)
(I have discovered a truly marvelous proof of this, which this margin is too narrow to contain.)
TZ:讨论的URL:
http://www.javaeye.com/topic/230492
这是一条镜像帖。来源:北邮人论坛 / soft-design / #30026同步于 2008/9/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
SoftDesign机器人发帖
[坑] [zz]SQL小技巧
atian25
2008/9/17镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
英文好囧……
【 在 atian25 (天猪天狗|阿天) 的大作中提到: 】
: 很久不搞sql了。整天就是java, java,也挺无聊的。
: 其实想想,sql还是挺好玩的,尤其是把别人吭哧吭哧几百行的stored procedure改写成一个简洁的query,或者一个本来要跑十分钟的stored proc改成几秒钟,感觉还是满爽的。
: 闲来无事,把一些小技巧回忆下来,省得以后考人的时候想不起来了。
: ...................