当前位置: 代码迷 >> Sql Server >> sql的一个排序有关问题
  详细解决方案

sql的一个排序有关问题

热度:53   发布时间:2016-04-24 10:17:53.0
sql的一个排序问题求助
数据大概如下
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
*/
  相关解决方案