话要说够,从此告别“心里有”

图表来自网络

昨夜上老同事聚会,一个同事商议一个面试题目远非一个人做出来,就是求连续日期登录次数最大的用户,同事说借助
rownumber即可求解,由于是喝酒闲聊,也尚未说详细的解决进程。明日深夜想了下,终于想到了实际的缓解思路。

文/韩三伯的广货铺

签到时间里面有详尽的时分秒数据,而大家的问题只要求连续的天数,所以使用DATEDIFF函数可以化解,

1.

DATEDIFF(d,LoginTime,getdate()) as diffDate ,

读高校之间,有一位朋友,我是这般交下的。

有六个用户都在签到,由此应当以用户名为分区,登录时间为顺序来测算rownumber,由此,就是上边的表达式:

记得这时放暑假,我们俩都选拔了留校,没回家,不是一个标准,互相也不认识,在同一个楼宇,却不住一个屋。

ROW_NUMBER() over(partition by Name order by LoginTime desc) as rn

一天深夜,我去卫生间(也就是水房)洗漱,人少,水龙头多。

关键问题来了,怎么样求得连续的报到状态?

按理说说,每个水龙头上边,都该配一面镜子,方便我们洗脸的时候,抬头臭美一下。

只假使接二连三的记录,那么
diffDate- rn 肯定是一律的!

不过男生有个欠好的习惯——失恋后喜欢破坏公共,于是二十多面水龙头上的镜子,只剩下一面。万幸,被自己占上了。

OK,果然这种形式很抢眼,那么大家最终的SQL写出来也不难了。

一通洗过后,我起来对着这面唯一的眼镜美滋滋刷牙。

始于动手,先构造一个表,插入伊始数据:

这时候,走进去一位同学,端着一大堆洗漱用品,可能是睡懵了,四处找带镜子的水龙头,扫了一圈发现唯一的异常“一等水龙头”已经被我征用了,一副出现转机又若持有失的规范,接着找到个一般水龙头,委屈又烦恼,闷头洗了四起。

/*
  求连续登录次数最多的用户
*/
create table UserLoginInfo(
  ID int IDENTITY primary key,
  Name varchar(50) not null,
  LoginTime datetime not null
  )
  go

  insert UserLoginInfo (Name,LoginTime)
  values('zhang','2015-11-10 12:01:50')
  ,('li','2015-11-11 11:01:50')
  ,('wang','2015-11-9 11:01:50');
  go

  insert UserLoginInfo (Name,LoginTime) values 
  ('zhang','2015-11-11 12:01:50'),
  ('li','2015-11-11 12:01:50'),
  ('wang','2015-11-11 11:01:50'),

  ('zhang','2015-11-12 12:01:50'),
  ('li','2015-11-13 13:01:50'),
  ('wang','2015-11-12 11:01:50'),

  ('zhang','2015-11-13 12:01:50'),
  ('li','2015-11-14 11:01:50'),
  ('wang','2015-11-14 11:01:50');
  go

自己稍微有点不忍,就几步迈到她旁边,右手正常刷牙,左手拍了拍他的肱二头外侧的岗位:

接下来用下边的SQL得到结果:

“同学,我洗完了,你用眼镜的话,大家俩换一下,你去我这洗。”

select top 1 
       Name,diffRn,COUNT(diffRn)as LoginCount 
from(
    select Name,diffDate,rn, (diffDate-rn) as diffRn 
    from(      
          select  ID,Name, 
                  DATEDIFF(d,LoginTime,getdate()) as diffDate , 
                  ROW_NUMBER() over(partition by Name order by LoginTime desc) as rn
          from UserLoginInfo
    ) t1
) t2
group by diffRn,Name 
order by LoginCount desc

“谢谢啊。”

答案是:

“没事。”

Name    diffRn    LoginCount
zhang    14    4

“你是哪些专业?”

 

“XX专业,你呢?”

万一注释掉 top 1,我们就知道那些结果的由来了:

……

Name    diffRn    LoginCount
zhang    14    4
li    13    3
wang    14    2
wang    15    1
li    14    1
wang    13    1

就这样,我俩就认识了,平白无奇,简简单单。

 

自那之后,我们相处的直接都不错,相互也给对方各地方很大的协理与赞助。

其一问题也足以衍生出
求连续签到的用户,或者求连续签到15天的用户(比如QQ的记名功效),是不是很熟练呢?

前几天清晨,远在他乡的她找我说话,介绍了下互动的近况后,大家像其他陈年老友一样,回忆过去……

 

他在谈到和本人首先次会见的时候说:你知道呢,这天你倍儿帅,很久很久没有人拍着自己的胳膊和自家说话了。

实则,下面这些查询,碰着一天登录多次的景色下,总括是不可靠的,例如,构造下边的测试数据:

2.

葡京签到送彩金 1葡京签到送彩金 2

记忆起这样一个美好的每日,我也觉得自身挺帅。

insert UserLoginInfo (Name,LoginTime) values 
     ('zhang'    ,'2015-11-10 12:01:50')
    ,('li'            ,'2013-10-05 11:01:50')
    ,('li'            ,'2013-10-06 11:01:50')
    ,('li'            ,'2014-10-05 11:01:50')
    ,('li'            ,'2014-10-06 11:01:50')
    ,('li'            ,'2015-10-05 11:01:50')
    ,('li'            ,'2015-10-06 11:01:50')
    ,('li'            ,'2015-11-10 11:01:50')
    ,('li'            ,'2015-11-11 11:01:50')
    ,('wang'        ,'2015-11-09 11:01:50')
    ,('zhang'        ,'2015-11-11 12:01:50')
    ,('li'            ,'2015-11-11 12:01:50')
    ,('wang'        ,'2015-11-11 11:01:50')
    ,('zhang'        ,'2015-11-12 12:01:50')
    ,('li'            ,'2015-11-13 13:01:50')
    ,('wang'        ,'2015-11-12 11:01:50')
    ,('zhang'        ,'2015-11-13 12:01:50')
    ,('li'            ,'2015-11-14 11:01:50')
    ,('wang'        ,'2015-11-14 11:01:50')
    ;

却又不敢独吞美事,功劳要披露给一部外国影视。

View Code

那位朋友不精通的是,在她和自家碰面往日,在自我走进水房在此以前,我刚赏心悦目完了一部影片。

那时应该先去除某天的重新数据,才是不易的,所以查询相应做如下立异:

光阴太长,已经记不起是哪些片子了,好像是美利坚联邦合众国的呢。

select --top 1 
       Name,diffRn,COUNT(diffRn)as LoginCount 
from(
    select Name,diffDate,rn, (diffDate-rn) as diffRn 
    from(      
          select  Name, 
                  diffDate,
                  ROW_NUMBER() over(partition by Name order by diffDate asc) rn
          from ( 
                select distinct Name,DATEDIFF(d,LoginTime,getdate()) as diffDate 
                from  UserLoginInfo 
          ) t0
    ) t1
) t2
group by diffRn,Name 
order by LoginCount desc;

只记得看的时候,被内部的一个细节感染到了。这一个细节在其余一部米国名片中几乎都找拿到,跟故事情节一点关系都尚未,却给我留给了特别深切的映像。

结果是:

哪些细节呢?

Name    diffRn    LoginCount
zhang    14    4
wang    14    2
li    13    2
li    14    2
li    48    2
li    411    2
li    774    2
wang    13    1
wang    15    1

闲聊。

结果符合大家的预期,算是完整的答案了。

不错,就是聊天,而且,仍然抬手就有,随便碰着个陌生人,俩人就会扯淡几句。

不通晓另外同学还一贯不更好的缓解方案?

比如:How is it going today ,ha?(前天过得如何?)


接下来此外一个眉毛一挑,嘴一撇,肩膀一耸,再秃噜出一句“还行,挺好”之类的话。

PS:就算你时常会在先后中写这么复杂的SQL,推荐你利用PDF.NET
SOD框架
SQL-MAP效益,将SQL写在部署文件中,集中管理,并且有利于跨数据库移植。

自身马耳他语很烂,但却把这一句“How is it going today ”结结实实地记在了心中。

葡京签到送彩金,SOD框架 PDF.NET_SOD Ver
5.3.6.1125
 已经宣布,喜欢的爱人可以下载当前那么些新型的安静版本,有问题,能够加框架的QQ群:PDF.NET
SOD高级群 18215717

多温暖的一句话啊,你想想,比如,忙了一天,跟狗一样,受气,心塞,走在下班回家的中途,那时候对面也走来个“同病相怜”,路过的时候抬手拍了下你肱二头的外界:“嘿!伙计!How
is it going today ?”

 

此刻,你收拾下脸,挤出点儿笑,哪怕是礼貌性的回一句“fine”,再跟着走你的路,整个心绪都会“fine”不少。

即刻本身心说我可得好好记住这句话,未来去异国见人就问,可劲儿过瘾……

为了使这种“尬聊”不那么难堪,做到收放自如,自可是发,我登时还特意找时机训练了几把。

第一组实验目的,就是大家楼下的起居室三姑,和校门口练摊儿的煎饼二姨。

譬如,来回签到的时候,跟二姨尬聊:“最近挺好的不?开学就要忙了哈……”

啊,小姨开端有点不适应,后来都被我带习惯了,几年后我搬到大学生宿舍楼,她有一遍来我们大楼串班,竟然从侧脸认出我来,且准确喊住了自己的名字:“XXX,如今,挺好的不?”

“哈哈哈哈,挺好挺好!”

再比如说,买煎饼的时候,在冬天的寒风中也会一边跺脚一边揣着袖,跟大姨尬聊:“很累啊?一天大约能买多少份?毛利能有些许?”

结果为自家带来了多少个便宜,其一是之后买煎饼时,每一次都足以少付五毛钱;其二是在专稿写作课上,我有了考察数量。

3.

接下去再说回这天下午的场景。

当今记忆起来,我估算我之所以能做出那种举动,就是当下如戏太深,人还尚无从影视镜头里全然走出去罢。

因为这种作为从前在自家身上几乎统统不容许发生。

俺们了解,我们中国人发挥音信进而是情绪心境类的音讯,都相比较“婉转”,不光喜欢绕弯子,更尊重“沉默是金”,有话不讲全,哪怕是好话也憋着,要么就概括粗暴的一句“全在酒里了”,要么就甩给对方一声“我这人你领会”或者“咱俩之间,不用说太多”,可想而知就是两个字儿组成的千古挡箭牌——“心里有”。

接近一句心里有,对方就机关被压上了要理解你心中全体意味的白白,领悟不做到,还要反怪对方,心境没处到那一步。

这以前的自家几乎就是这种个性,农村话讲:三棍子闷不出一个屁来。

那规范很不通透,很“闷”,却被年轻人一代的融洽认为这样挺“man”.

俺们前些天聊起来,都觉着“让出镜子给对方,并且上前告诉一下”这种事,那种话,很平凡,皆以为真的应该如此。

只是,真放到具体情境下,能做出来的人,并不多,我相信广大人都和这在此之前的本身是相仿的。

理所当然,这并不涉及多么严重的礼节与道德问题,我完全可以礼节,站在镜子前刷牙的沟通任何一个人,都能不负众望“心里有”,都会动“恻隐之心”,都会想到“你看,我是不是该把地方让给他时而”。

仍旧,哪怕就是不让,我刷我的牙,你受你的气,我一个动作也不做,一句话也不说,这也全然说得过去,没毛病,毕竟这只是个运气问题,我是不勉强的。

唯独,这话说说话,跟没说,到底如故不均等。

假想一下,假使这天上午,我心坎的同情哪怕爆到一万点,但仍不清楚是由于什么样顾虑,死活没张开嘴请他恢复生机洗脸,那么,事情的结果就改为了……我错过了一位情人。

这还不算完,再过几天,某个早晨,我闹肚子,想解决一下,结果有位兄台愣是在中间慢悠悠地缓解,催半天人家也不开门。

门里的她在内心嘀咕着:哼,这天老子没镜子用,你占着镜子也不说帮我弹指间,当时看您猖狂的典范就憋气,你不是能装吗,在他乡等着啊……

好东西,这就又多道坎儿。

4.

自家意识这人岁数大点儿了今后,脸皮也会跟着一点点的厚起来。

但本身说的这种厚脸皮并非贬义,我倒是有些看到了它好的另一方面。

好在何方呢?好在人情厚了,面子却薄了,准确说,是累累“莫须有”的面子,一百年不遇的脱落,不像以前,那么紧张,那么在意了。

就拿自身和公公的互换举例吧,公公是老了,不再在乎这几个虚的事物,我也算多少了然了点儿事,许多概念在脑力里跑完了几圈,仿佛又回到了原点。

于是,大家俩脚下挂钩,相比较于事先的那种针锋相对,真的是协调畅达了累累。

简短就是:俩人都更好意思表明友好了,都不再寄托于简单的“心里有”,在此基础上,还要追求“说说话”了。

自家深信每一个人心灵都有那么一首激情精神的歌,但我们竟愚蠢到了觉得冲着对方打拍子,对方就能一心精晓,并且猜出你的歌名,那是金榜题名的虚伪同感偏差。

局部时候你需要完整的抒发,事要做透,话也要说够,这会让您收获想不通的人想必会直接错过的东西;

亲属安心的泪水,来自一个新生儿开口喊的首先声“二姨”;

而人总要在某个阶段后,第二次张开嘴巴,对这多少个世界精彩说话。

End.


各平台开白等事务请给自身的商人bingo_发送简信。(发送格局:点击棕色字体)