查询用户表的数据,管理员用户始终在最前面,然后再按照CreateTime排序:
SELECT TOP 50 * FROM [dbo].[User] WHERE ParentID = '**' ORDER BY ( CASE WHEN RoleName = '管理员' THEN 0 ELSE 1 END ), CreatedTime DESC
case when 的其他使用方法,给用户表分类,管理员的用户为A类,其他为B类:
SELECT TOP 50 * ,(CASE WHEN RoleName ='管理员' THEN 'A' ELSE 'B' END) AS NN FROM [dbo].[User] -- 或者 SELECT TOP 50 * ,(CASE RoleName WHEN '管理员' THEN 'A' ELSE 'B' END) AS NN FROM [dbo].[User]