Sql 非空值之间的升序和降序

Sql 非空值之间的升序和降序,sql,sql-server,sql-server-2008,Sql,Sql Server,Sql Server 2008,使用此查询: WITH CTE AS ( SELECT concat(e.FirstName, ' ', e.LastName) as Employee_Name, g.GrantName, g.Amount, case when g.Amount IS NULL THEN 0 ELSE 1 END AS IS_NULL_Amount fr

使用此查询:

WITH CTE
AS
(
    SELECT 
        concat(e.FirstName, ' ', e.LastName) as Employee_Name, 
        g.GrantName, 
        g.Amount, 
        case 
            when g.Amount IS NULL THEN 0 
            ELSE 1 
        END AS IS_NULL_Amount
    from Employee e 
        LEFT OUTER join [Grant] g
            ON g.EmpID = e.EmpID
)

SELECT 
    CTE.Employee_Name, 
    CTE.GrantName, 
    CTE.Amount 
from CTE
ORDER BY CTE.IS_NULL_Amount desc
我得到以下结果:

Employee_Name      GrantName                   Amount
---------------------------------------------------------
Barry Brown        K-Land fund trust           15750.00
Lee Osako          TALTA_Kishan International  18100.00
David Kennson      BIG 6's Foundation%         21000.00
Eric Bender        Just Mom                    9900.00
David Lonning      92 Purr_Scents %% team      4750.00
David Lonning      Robert@BigStarBank.com      18100.00
David Lonning      www.@-Last-U-Can-Help.com   25000.00
David Lonning      Big Giver Tom               95900.00
James Newton       Mega Mercy                  55000.00
Terry O'Haire      Ben@MoreTechnology.com      41000.00
Sally Smith        Thank you @.com             21500.00
Barbara O'Neil     NULL                        NULL
Phil Wilconkinski  NULL                        NULL
Janis Smith        NULL                        NULL
Alex Adams         NULL                        NULL
John Marshbank     NULL                        NULL
Lisa Kendall       NULL                        NULL

(17 row(s) affected)

如何仅在not NULL值之间对ASC和DESC进行排序?

排序结束为\u NULL\u金额和金额

ORDER BY CTE.IS_NULL_Amount desc,Amount asc

请尝试使用以下ORDERBY子句:

order by cte.Is_Null_Amount desc, EmployeeName


请澄清“仅在非空值之间对ASC和DESC进行排序”的含义。您想按哪一列排序,金额?最后保留空值?
order by cte.Is_Null_Amount desc, Amount desc