查询用户表的数据,管理员用户始终在最前面,然后再按照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]
SQL 先固定特殊的几行数据之外再按照某一字段排序方法(CASE 字段排序(CASE WHEN THEN)
原文:https://www.cnblogs.com/MrZheng/p/11507558.html