如何在sql select查询中为特定IDS添加Order by

时间:2017-10-05 13:27:26

标签: sql sql-server-2008

如何在sql select query中为特定IDS添加Order by

我有Table_Example,如下所示

  ID  Name
  2    Text2
  9   kkk
  10  jj
  1   pp

我需要输出如下

  ID  Name
  9   kkk
  1   pp
  10  jj
  2   Text2

2 个答案:

答案 0 :(得分:1)

如果您希望表中的值包含订单,只需在表中添加sortkey列。

alter table lookup_table add column sortkey int;

然后填写sortkeys并在查询中使用它们。

select
...  
order by sortkey;

答案 1 :(得分:0)

如果您的记录很少,只需使用Case表达式,如下所示。想要定制订单:

SELECT ID,
       NAME
FROM <table_name>
ORDER BY(CASE(NAME)
             WHEN 'kkk'
             THEN 1
             WHEN 'pp'
             THEN 2
             WHEN 'jj'
             THEN 3
             WHEN 'Text2'
             THEN 4
         END); 

输出

enter image description here