作者Marty (DNA探针)
看板Database
标题[SQL ] 关於次一笔资料排序及选取
时间Fri Jan 9 11:37:07 2015
资料库名称:MS SQL
资料库版本:2008 R2
内容/问题描述:
1.资料表如下:
OPTD_N
--------------
交易日期
---------------
2008-01-02
2008-01-03
2008-01-04
2008-01-07
2.希望达成的显示方式:
交易日期 次一个交易日
---------------------
2008-01-02 2008-01-03
2008-01-03 2008-01-04
2008-01-04 2008-01-07
2008-01-07 2008-01-08
3.目前解法:
SELECT A.交易日期,B.交易日期 AS 次一个交易日
FROM
(
SELECT DISTINCT [交易日期],
DENSE_RANK() OVER ( ORDER BY [交易日期] ASC) AS R
FROM OPTD_N
) AS A
LEFT JOIN
(
SELECT DISTINCT [交易日期],
DENSE_RANK() OVER ( ORDER BY [交易日期] ASC) AS R
FROM OPTD_N
) AS B
ON A.R = B.R-1
4.请问各位先进有更简洁快速的写法吗?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.80.170.66
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Database/M.1420774631.A.36E.html
※ 编辑: Marty (111.80.170.66), 01/09/2015 11:38:37