数据大概如下
A B
小张 0
小五 1
小王 2
我希望排序如下
A B
小五 1
小王 2
小张 0
就是B这个字段以 1 2 0
这样子排序,B字段是固定的就是 1 2 0三个数字
谢谢。
------解决方案--------------------
----------------------------------------------------------------
-- Author :DBA_HuangZJ(發糞塗牆)
-- Date :2014-07-25 12:50:30
-- Version:
-- Microsoft SQL Server 2012 - 11.0.5058.0 (X64)
-- May 14 2014 18:34:29
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) (Hypervisor)
--
----------------------------------------------------------------
--> 测试数据:[huang]
if object_id('[huang]') is not null drop table [huang]
go
create table [huang]([A] varchar(4),[B] int)
insert [huang]
select '小张',0 union all
select '小五',1 union all
select '小王',2
--------------开始查询--------------------------
select * from [huang] ORDER BY CASE b WHEN 1 THEN 3 WHEN 2 THEN 2 ELSE 1 END DESC
----------------结果----------------------------
/*
A B
---- -----------
小五 1
小王 2
小张 0
*/