LON*_*ONG 2 sql t-sql sql-server
例如:
Name Date
A 2018-06-02
B 2018-06-03
B 2018-06-01
C 2018-06-01
Run Code Online (Sandbox Code Playgroud)
获得最佳方式是什么:
B 2018-06-03
B 2018-06-01
A 2018-06-02
C 2018-06-01
Run Code Online (Sandbox Code Playgroud)
排序顺序首先是Order by Date DESC,然后应该跟随所有记录Name
尝试按每个名称强制最大日期.
IF OBJECT_ID('tempdb..#Data') IS NOT NULL
DROP TABLE #Data
CREATE TABLE #Data (
Name VARCHAR(10),
Date DATE)
INSERT INTO #Data (
Name,
Date)
VALUES
('A', '2018-06-02'),
('B', '2018-06-03'),
('B', '2018-06-01'),
('C', '2018-06-01')
SELECT
D.Name,
D.Date
FROM
#Data AS D
ORDER BY
MAX(D.Date) OVER (PARTITION BY D.Name ORDER BY D.Date DESC) DESC,
D.Date DESC,
D.Name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |