sql按列中的特定值排序,而不是按字母顺序排列同一列的其余部分

5 sql sql-server-2005

有一个简单的select * from myTable查询和一个名为的列Fruits

Fruits 有以下数据:

Apple
Pear
Peach
Plum
Grape
Run Code Online (Sandbox Code Playgroud)

我总是首先要葡萄,然后依次是剩下的葡萄,结果就是这样

Grape
Apple
Peach
Pear
Plum
Run Code Online (Sandbox Code Playgroud)

一如既往地感谢您的帮助!

rsb*_*rro 7

我会尝试这样的事情:

DECLARE @myTable TABLE([Fruits] VARCHAR(20))
INSERT INTO @myTable VALUES('Apple')
INSERT INTO @myTable VALUES('Pear')
INSERT INTO @myTable VALUES('Peach')
INSERT INTO @myTable VALUES('Plum')
INSERT INTO @myTable VALUES('Grape')

SELECT * 
FROM @myTable
ORDER BY
    CASE WHEN([Fruits] = 'Grape') THEN 0 ELSE 1 END,
    [Fruits]
Run Code Online (Sandbox Code Playgroud)

在该字段中ORDER BY,您将分配一个值,以便您可以对该[Fruits]字段Grape进行排序,然后对该[Fruits]字段进行二次排序.