use*_*430 0 sql t-sql sql-server
我想显示一些数据,我的要求是重复的值不应显示在相邻的位置。现在表中的数据是按这个顺序排列的
ID Name
1 A
2 A
3 B
4 C
5 B
6 B
7 C
8 C
9 C
Run Code Online (Sandbox Code Playgroud)
预期结果 - 应按以下顺序排列
ID Name
1 A
3 B
4 C
2 A
5 B
7 C
6 B
8 C
9 C
Run Code Online (Sandbox Code Playgroud)
这可以使用窗口函数来完成ROW_NUMBER。
SELECT *, ROW_NUMBER() OVER (PARTITION BY Name ORDER BY ID) AS rn
FROM mytable
ORDER BY rn, Name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
198 次 |
| 最近记录: |