在您的情况下,Order by 适用于整个查询。如果我们可以使用括号,它会像
(
SELECT Id FName,SortString
FROM CTable
WHERE '1' = DevId AND SortString glob '[A-Z]*'
UNION
SELECT FName,SortString
FROM CTable
WHERE '1' = DevId AND SortString NOT glob '[A-Z]*'
)
ORDER BY FName DESC
您可能会使用一些排序字段
SELECT Id, FName,SortString, 1 as OrderStr
FROM CTable
WHERE '1' = DevId AND SortString glob '[A-Z]*'
UNION
SELECT Id, FName,SortString, 2 as OrderStr
FROM CTable
WHERE '1' = DevId AND SortString NOT glob '[A-Z]*'
ORDER BY OrderStr, FName DESC
或者可能是子查询
SELECT *
FROM(
SELECT Id, FName,SortString
FROM CTable
WHERE '1' = DevId AND SortString glob '[A-Z]*'
ORDER BY FName DESC
) T1
UNION
SELECT *
FROM(
SELECT Id, FName,SortString
FROM CTable
WHERE '1' = DevId AND SortString NOT glob '[A-Z]*'
ORDER BY FName DESC
) T2