从数据表中获取前四位值。然后交换条件

时间:2017-11-16 13:47:07

标签: mysql sql database qtp

使用此命令我可以获得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

根据列名对其进行排序,然后根据序列号进行交换。

1 个答案:

答案 0 :(得分:1)

将您的查询换行,在派生表中返回想要的4行,然后执行相反的ORDER BY以获取所需的顺序:

select *
from
(
    select top 4 * from filename where Set=100 order by columname DESC
) dt
order by columname ASC