注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

伯纳乌の夢

可以挽回么?我们按“ Ctrl+Z”撤销掉吧。对不起啦~~

 
 
 

日志

 
 
 
 

同一栏位字段按不同方向排序  

2009-08-24 21:56:30|  分类: Oracle/SQLServer |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
假设我现在有一个表test,ID字段 从1到10
现在我想前5条记录降序排列, 后5条记录升序排列。如下:
5
4
3
2
1
6
7
8
9
10
=====================================================================
实现方法如下:
select * from test
        ID
----------
         1
         2
         3
         4
         5
         6
         7
         8
         9
        10

SELECT   ID, SIGN (ID - 6), ABS (ID - 6) FROM test GROUP BY ID ORDER BY SIGN (ID - 6), ABS (ID - 6)
        ID SIGN(ID-6)  ABS(ID-6)
---------- ---------- ----------
         5         -1          1
         4         -1          2
         3         -1          3
         2         -1          4
         1         -1          5
         6          0          0
         7          1          1
         8          1          2
         9          1          3
        10          1          4

The SIGN function returns either a -1 if the supplied number is less than zero, a 0 if the number is zero and 1 if the number is greater than zero.

The ABS or absolute value function returns the absolute value of a number. The absolute value is the number's distance from zero on a number line. The absolute value is always a positive number. The variable that ABS returns its value to must be predefined.

  评论这张
 
阅读(163)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018