我需要为我的表实现自定义排序。例如,我有一个名为“TestTest”的表,其值为a, d01, d04, d02, b
。我需要选择数据并对它们进行排序,以便使用“d”的值为第一个,其余值将按字母数字排序。结果将是d01,d02,d03,a,b
创建和插入数据的脚本:
CREATE TABLE TestTest(
Name varchar(200)
)
DELETE FROM TestTest
INSERT INTO TestTest( Name )
VALUES( 'a' )
INSERT INTO TestTest( Name )
VALUES( 'd01');
INSERT INTO TestTest( Name )
VALUES( 'd04');
INSERT INTO TestTest( Name )
VALUES( 'd02');
INSERT INTO TestTest( Name )
VALUES( 'b' );
任何帮助的Thx;)
答案 0 :(得分:4)
Select *
From TestTest
Order By CASE WHEN LEFT(Name,1)='d' THEN 1 ELSE 2 END,Name
答案 1 :(得分:1)
快速消息:
Select *
from TestTest
order by case when Name like 'd%' then 'aaaaa'+Name else Name end
答案 2 :(得分:1)
select * from TestTest order by case when Name='d01' then 1
when Name='d02' then 2
when Name ='d04' then 3
end desc