[SQL ] 關於次一筆資料排序及選取
資料庫名稱: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://www.ptt.cc/bbs/Database/M.1420774631.A.36E.html
※ 編輯: Marty (111.80.170.66), 01/09/2015 11:38:37
推
01/09 15:29, , 1F
01/09 15:29, 1F