调整SQL查询以强制首先显示记录?

SSh*_*bly 5 sql sql-server select sql-server-2008

如何调整以下查询以始终返回MemberID ='xxx'作为第一行的成员

SELECT*FROM Members

Mag*_*nus 12

select * from Members
order by case when MemberID = XXX then 0 else 1 end
Run Code Online (Sandbox Code Playgroud)


Joh*_*nFx 6

这应该工作,它还允许您通过MemberID订购剩余的项目(在此示例中假设xxx = 12)

SELECT *
FROM Members
ORDER BY CASE WHEN MemberID=12 THEN NULL ELSE isnull(MemberID,0) END
Run Code Online (Sandbox Code Playgroud)

如果memberID列不能包含空值,那么您可以使用它可以稍微好一点.

SELECT *
FROM Members
ORDER BY CASE WHEN MemberID=12 THEN NULL ELSE MemberID END
Run Code Online (Sandbox Code Playgroud)