SELECT EmpID,EmpSalaryGrade,EmpGrade
FROM Employee
ORDER BY EmpGrade,EmpSalaryGrade

SELECT EmpID,EmpSalaryGrade,EmpGrade
FROM Employee
ORDER BY EmpGrade+EmpSalaryGrade中
ORDER BY EmpGrade+EmpSalaryGrade 与 ORDER BY EmpGrade,EmpSalaryGrade
的区别是什么?

解决方案 »

  1.   

    ORDER BY EmpGrade+EmpSalaryGrade
    按照两者的和进行排序ORDER BY EmpGrade,EmpSalaryGrade
    先按照EmpGrade排序,如果EmpGrade字段相同,再按照EmpSalaryGrade排序。
      

  2.   


    --> 测试数据:@Employee
    declare @Employee table(EmpID int,EmpSalaryGrade int,EmpGrade int)
    insert @Employee
    select 1,2,4 union all
    select 2,2,3 union all
    select 3,1,8 union all
    select 4,4,4 union all
    select 5,3,1 union all
    select 6,1,2SELECT EmpID,EmpGrade,EmpSalaryGrade
    FROM @Employee
    ORDER BY EmpGrade+EmpSalaryGrade
    /*
    EmpID       EmpGrade    EmpSalaryGrade
    ----------- ----------- --------------
    6           2           1
    5           1           3
    2           3           2
    1           4           2
    4           4           4
    3           8           1
    */SELECT EmpID,EmpGrade,EmpSalaryGrade
    FROM @Employee
    ORDER BY EmpGrade,EmpSalaryGrade
    /*
    EmpID       EmpGrade    EmpSalaryGrade
    ----------- ----------- --------------
    5           1           3
    6           2           1
    2           3           2
    1           4           2
    4           4           4
    3           8           1
    */
      

  3.   


    你可以写个查询比较一下区别ORDER BY EmpGrade+EmpSalaryGrade
    按照两者的和进行排序ORDER BY EmpGrade,EmpSalaryGrade
    先按照EmpGrade排序,如果EmpGrade字段相同,再按照EmpSalaryGrade排序。