是否可以在SQL中的第一行放置一行特定数据?

时间:2018-02-07 13:35:25

标签: sql

假设我有一张桌子:

enter image description here

我希望每次在SQLQuery中选择此表时,UserId ='ee'的行始终显示在第一行。

有可能吗?

3 个答案:

答案 0 :(得分:2)

使用视图:

CREATE VIEW myView AS
SELECT * FROM myTable ORDER BY (case when UserId = 'ee' then 0 else 1 end) ASC

答案 1 :(得分:2)

select *
  from your_table
 order by UserId <> 'ee' -- "<>", because false < true

或(可以说更清楚):

select *
  from your_table
 order by case when UserId = 'ee' then 0 else 1 end

答案 2 :(得分:1)

您可以使用CASE Clause或IF子句更改为订单。

示例:

SELECT * FROM
Table
ORDER BY (CASE WHEN UserID = 'ee' THEN 1 ELSE 2 END) ASC, UserID ASC

或者

SELECT * FROM 
Table
ORDER BY IIF(UserID = 'ee', 1, 2) ASC, UserID ASC

通过这种方式,您可以给出数值1和所有其他数字2,并按这些数字排序。订购时,您可以通过UserID本身订购重复的2。