首页 新闻 会员 周边

SQLServer 如何取得:表中未按日期升序排序的行?

0
[已解决问题] 解决于 2018-03-29 08:39

。如图中显示,希望结果是取得2014-08-09、~7、~6、~13号的记录。

,这张表希望结果是取代以下日期的行记录:2014-08-06、~05、~09、~12、~13、~08,这里即便12号和13号是升序的,但因为小于前面已列出的14号,也应显示出来。

Cornelius的主页 Cornelius | 初学一级 | 园豆:80
提问于:2014-08-14 11:36
< >
分享
最佳答案
0

请问9,7,6,13这个顺序从哪儿来的?

奖励园豆:5
爱编程的大叔 | 高人七级 |园豆:30839 | 2014-08-14 11:38

2017-08-09,这里的 9 7 6 13只的是日期。

Cornelius | 园豆:80 (初学一级) | 2014-08-14 11:40

@Cornelius: 

表达不够明确。

如果只是4个确定的日期,你可以用where 日期=日期1 or 日期=日期2 or 。。。。

爱编程的大叔 | 园豆:30839 (高人七级) | 2014-08-14 11:44

@爱编程的大叔: 我有修改了一下问题,贴了两张图。

想要的结果是表中未按日期升序排序的资料行。如果中间有升序行,但前面有比之当前升序中最大的日期还要大,仍显示出来(如第二张图)。

Cornelius | 园豆:80 (初学一级) | 2014-08-14 11:58

@Cornelius: 

这样,只能循环数据进行处理了,用SQL存储过程也能办到,用代码也能办到。

用SQL存储过程的话就是创建一个临时表,然后用CURSOR,然后循环,然后判断,

代码就不写了,你自己琢磨下应该可以的。

爱编程的大叔 | 园豆:30839 (高人七级) | 2014-08-14 12:02

@爱编程的大叔: 有办法取得查询结果前面的 1 ~ 12行序号吗?

Cornelius | 园豆:80 (初学一级) | 2014-08-16 08:28
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册