Redian新闻
>
Amex SPG卡免费送25K points 可换500刀现金
avatar
Amex SPG卡免费送25K points 可换500刀现金# CivilEngineering - 土木工程
m*t
1
预产期12月中, 要找有经验的月嫂/月子保姆,照顾产妇和新生儿,地点在CT, 离法拉
盛1小时车程。欢迎自荐或推荐。有意者请站内联系或email d******[email protected]
电话 203-796-0144。
avatar
k*n
2
今早,广州地铁站出现了一幅场景:地铁站突现大量乘客奔走,场面恐慌。而事后广州
地铁官微回复,只是因为一名乘客晕倒,导致其他人的误会,期间一名孕妇因推挤受伤
。广州的朋友们,不禁想问一句,你们到底误会了什么,使得你们如此恐慌,一个人晕
倒就让你们奔走于地铁站。这几年,大众的心理承受能力是越来越差,恐慌心理是越来
越强烈。我们到底在怕什么!
遥想当年日本地震,对于中国造成的恐慌,人们疯狂抢购囤积食盐,结果半天之后中央
宣布食盐存货几十年无虞。当时对于这样的新闻真是觉得哭笑不得,日本人尚且没有担
心,中国人倒是忙的不可开交。再说前些日子的天津事故,政府的首要工作除了救人就
是监测空气质量以免造成社会恐慌。无论监测结果到底是否超标,政府都会以官方数据
公布一切正常,只是为了避免社会的恐慌。
社会越发展,我们反而越害怕,大众的恐慌更强烈。原因大概就是得到的越多,就越害
怕失去,知道的越多,就越害怕。我们有所惧怕是没有错的,但是实在是没有必要给自
己造成一些荒谬的恐慌。
avatar
t*n
3
美女压阵
avatar
h*3
4
大家好。我是第一次来本版的。有个问题向大家求教。去年我买了一台惠普的手提电脑
,里面是window 8,用起来非常不方便,我还很糊涂,比如如何关看过的网页窗口,如
何打汉字。用起来实在头疼。我想自己装个window 7 or XP, 请问有没有地方找这些软
件?或者如果我的朋友有,我可以用的这个软件么?还是一台电脑只能有一个软件,所
以不能share?
非常菜鸟。谢谢解答!
avatar
b*n
5
申请 Discover More Card- $150 CashBack Bonus
http://goo.gl/YH7eP
Discover More Card 提供三个月内消费1000刀给予$150 cashback bonus,点击图上
offer便可以看到$150 reward。
http://goo.gl/YH7eP
• $150 Cashback Bonus when you spend $1,000 in the first 90 days
• 5% Cashback Bonus in categories that change like travel, gas,
groceries, restaurants, home improvement stores and more
• Up to 20% Cashback Bonus at popular retailers when you shop
online through Discover.com
它分季度提供不同类型的5%的cashback,本季度是餐饮和服饰。申请到信用卡的可以进
去一眼看到,记得要 sign up,点击一下就好。而且这卡可以申请不限制的卡面设计,
你每周都可以带着不同卡面的discover在你钱包里面,这些卡都是一个卡号,只是背面
会注明 A001 A002...代表第几张卡片。申请的时候即可选择你喜欢的图案设计。
不仅没有年费,这卡还有一个好处就是可以在中国消费是没有foreign exchange fee
一定要记得目前有生日当月双倍的cashback哈, 记得去sign up哦!
http://goo.gl/YH7eP
avatar
t*n
6
*******************************************************************
HR SQL难题的三种解法
*******************************************************************
摘要
本文综合描术了针对养老院人事难题的多种SQL解法。
鸣谢
Beijing
===========================================================
解法1 -- Partition 法
===========================================================
可以参考wyr解法,本解法用了lead/lag,以及ROWS UNBOUNDED PRECEDING AND
CURRENT ROW
原理一样,就是要达到排序后分组的目的
借用原题数据,第一步的目标加上ind1,指示此行是否是超过30天的行
User StartDate EndDate ind1
1 12/2/2011 1/16/2012 0
1 3/4/2012 3/24/2012 1
1 4/5/2012 4/26/2012 0
1 5/14/2012 6/7/2012 0
2 3/5/2012 7/30/2012 0
2 8/4/2012 9/15/2012 0
3 6/5/2012 8/20/2012 0
假设结果是t1,t1是这样得到的,请自行优化
select t11.*,
(t11.startdate - (LEAD/LAG)? (end_date,1) over (PARTITION BY ?? ORDER BY ??
)) t11.ind11
from t t11
ind11是相差的天数,自行转化成ind1 0(<=30),1(>30)
借用原题数据,第二步的目标加上ind2,指示分组
User StartDate EndDate ind1 ind2
1 12/2/2011 1/16/2012 0 0
1 3/4/2012 3/24/2012 1 1
1 4/5/2012 4/26/2012 0 1
1 5/14/2012 6/7/2012 0 1
2 3/5/2012 7/30/2012 0 0
2 8/4/2012 9/15/2012 0 0
3 6/5/2012 8/20/2012 0 1
假设结果是t2,t2是这样得到的,请自行优化
select t21.*,
(select sum(ind1) OVER (PARTITION BY id ORDER BY start_date ROWS UNBOUNDED .
... ) ind2
from t1 t21
分组成功,min,max
===========================================================
解法2 -- CTE 法
===========================================================
首先,这类复杂sql问题,建议大家用CTE(和Recursive无关),每一步都分开,思路会
清晰得多
with t1 as(
select ....
from ....),
t2 as (
select...
from t1, .....),
....
select
from tn
用过oracle connect by的同学,Recursive CTE实现了类似功能,而且是ansi的,推荐
大家使用,当然,本题用connect by也可以
对于解决本题,思路和用Analytic Functions类似,就是要达到排序后分组的目的,以
原题数据为例,如果有以下标记,用group by user,标记值可得到min(startdate),
max(enddate)即可
User StartDate EndDate 标记值
1 12/2/2011 1/16/2012 0
1 3/4/2012 3/24/2012 1
1 4/5/2012 4/26/2012 1
1 5/14/2012 6/7/2012 1
2 3/5/2012 7/30/2012 0
2 8/4/2012 9/15/2012 0
3 6/5/2012 8/20/2012 0
先看一下原理
http://www.nocoug.org/download/2010-05/2010_303_Fernandez_ppt.p
http://www.morganslibrary.org/reference/with.html
http://technet.microsoft.com/en-us/library/ms186243%28v=sql.105
问题就来了,我们的起始的SQL应该是什么呢?我们的recursive应该怎么连呢?很显然
我们的起始SQL应该是每个user最早的startdate记录,下面记录就应该是一个一个按
startdate的升序排列。我们原始table没有这个序列数据,所以我们要给它加上,结果
假设是t1(use CTE!!)
select *, row_number() over (partition by user order by startdate) rn
from table
有了t1,我们上面的2个问题都解决了。起始sql就是select *, rn from t1 where rn=
1,连接就是靠user=user and rn=rn+1。排序连接解决了,但是我们的分组问题还没有
解决,也就是我们的标记ind的值还没有解决。在我们的Recursive CTE加入ind,起始
sql里面ind的值假定是0(select *, rn, 0 ind from t1 where rn=1, 任何值都行)
。我们是否能使ind值达到上面例子里分组的目的呢。答案是肯定的,每一个record,
如果和前面比没超过30天,这个record的ind就沿用上一个record的ind;如果超过30天
,就在上一个的基础上+1。这样问题就解决了。
===========================================================
解法3 -- 古典 法
===========================================================
原理一样,就是要达到排序后分组的目的
借用原题数据,第一步的目标加上ind1,指示此行是否是超过30天的行
User StartDate EndDate ind1
1 12/2/2011 1/16/2012 0
1 3/4/2012 3/24/2012 1
1 4/5/2012 4/26/2012 0
1 5/14/2012 6/7/2012 0
2 3/5/2012 7/30/2012 0
2 8/4/2012 9/15/2012 0
3 6/5/2012 8/20/2012 0
假设结果是t1,t1是这样得到的,请自行优化
select t11.*,
t11.startdate - (select MAX(t12.enddate) from t t21 where .. < ..) ind11
from t t11
ind11是相差的天数,自行转化成ind1 0(<=30),1(>30)
借用原题数据,第二步的目标加上ind2,指示分组
User StartDate EndDate ind1 ind2
1 12/2/2011 1/16/2012 0 0
1 3/4/2012 3/24/2012 1 1
1 4/5/2012 4/26/2012 0 1
1 5/14/2012 6/7/2012 0 1
2 3/5/2012 7/30/2012 0 0
2 8/4/2012 9/15/2012 0 0
3 6/5/2012 8/20/2012 0 1
假设结果是t2,t2是这样得到的,请自行优化
select t21.*,
(select sum(ind1) from t1 t22 where ...<=....) ind2
from t1 t21
分组成功,min,max
avatar
m*s
7
你朋友手里有的话,也同意给你使用的话,当然可以。
格式化、分区、装Windows系统、装声卡显卡各种硬件驱动、装OfficePhotoshop各种软
件。

【在 h*****3 的大作中提到】
: 大家好。我是第一次来本版的。有个问题向大家求教。去年我买了一台惠普的手提电脑
: ,里面是window 8,用起来非常不方便,我还很糊涂,比如如何关看过的网页窗口,如
: 何打汉字。用起来实在头疼。我想自己装个window 7 or XP, 请问有没有地方找这些软
: 件?或者如果我的朋友有,我可以用的这个软件么?还是一台电脑只能有一个软件,所
: 以不能share?
: 非常菜鸟。谢谢解答!

avatar
B*g
8
你这是赤果果的剽窃,哈哈
avatar
m*n
9
说老实话, 如果你是因为这些原因觉得win 8 不方便, 我建议你别自个儿去
装win 7 或者XP.

【在 h*****3 的大作中提到】
: 大家好。我是第一次来本版的。有个问题向大家求教。去年我买了一台惠普的手提电脑
: ,里面是window 8,用起来非常不方便,我还很糊涂,比如如何关看过的网页窗口,如
: 何打汉字。用起来实在头疼。我想自己装个window 7 or XP, 请问有没有地方找这些软
: 件?或者如果我的朋友有,我可以用的这个软件么?还是一台电脑只能有一个软件,所
: 以不能share?
: 非常菜鸟。谢谢解答!

avatar
t*n
10
荣耀归北京
包子归北京

【在 B*****g 的大作中提到】
: 你这是赤果果的剽窃,哈哈
avatar
L*s
11
双系统
avatar
w*r
12
MD,我就是打酱油的
avatar
B*g
13
一起打,玩sql的都是打酱油的

【在 w*r 的大作中提到】
: MD,我就是打酱油的
avatar
t*n
14
credit to wyr

【在 w*r 的大作中提到】
: MD,我就是打酱油的
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。