使用此命令我可以获得TOP四个值,但有些值是重复的。所以然后想根据表的序列号进行交换。现在使用这个bellow命令获取前四个值我想交换任何逻辑。
INPUT
SN Set name columname
1 100 Randy 25
2 100 many 22
3 100 sanny 22
4 100 nanny 35
Output
SN Set name columname
2 100 many 22
3 100 sanny 22
1 100 Randy 25
4 100 nanny 35
select top 4 * from filename where Set=100 order by columname DESC
根据列名对其进行排序,然后根据序列号进行交换。
答案 0 :(得分:1)
将您的查询换行,在派生表中返回想要的4行,然后执行相反的ORDER BY
以获取所需的顺序:
select *
from
(
select top 4 * from filename where Set=100 order by columname DESC
) dt
order by columname ASC