代码之家  ›  专栏  ›  技术社区  ›  devlife

如何在SQL中按非空值列排序

  •  15
  • devlife  · 技术社区  · 15 年前

    我需要编写一个SQL语句来选择按姓氏、名字排序的所有用户。这是我知道如何做的部分:)我不知道如何做的是首先按非空值排序。现在我明白了:

    空,空
    空,空
    P1STEP,P1
    P2,P2

    我需要得到:

    P1STEP,P1
    P2,P2
    空,空
    空,空

    有什么想法吗?

    2 回复  |  直到 15 年前
        1
  •  27
  •   SQLMenace    15 年前

    Sort Values Ascending But NULLS Last

    基本上

    SELECT *
        FROM @Temp
        ORDER BY CASE WHEN LastName IS NULL THEN 1 ELSE 0 END, LastName
    
        2
  •  10
  •   Remus Rusanu    15 年前
    ORDER BY CASE WHEN name IS NULL THEN 1 ELSE 0 END, name;