多个 mysql order by statement

more than one mysql order by statement

我有一个 table,我需要使用 order by 对要按性别、部门和年级排列的值进行排序,有人知道怎么做吗?

这是我的 sql 声明:

select
   * 
from
   (select
      * 
   from
     (SELECT
        distinct a.LRN,
        a.middle_initial,
        a.last_name,
        a.first_name,
        a.gender,
        a.grade_level,
        c.section_name,
        b.school_year,
        d.grade_levelnumeric 
     from
        tblstudent as a 
     inner join
        tblclass as b 
           on b.LRN = a.LRN 
     inner join
        tblsection as c 
           on c.section_id=b.section_id 
     inner join
        tblgradelevel as d 
           on b.grade_level=d.grade_level 
     where
        b.school_year = '" & Comboschoolyear.Text & "' 
     order by
        d.grade_levelnumeric DESC) as temptable 
  order by
     section_name) as temptable1 
  order by
     gender;

我的问题是无法正确输出。谁能帮我?非常感谢您的帮助。

您的最终输出将不正确,因为在最外层的查询中您使用了 order by gender,因此它将按性别排列,并且它可能会或可能不会保持内部子查询的顺序。 您可以通过 -

SELECT
        distinct a.LRN,
        a.middle_initial,
        a.last_name,
        a.first_name,
        a.gender,
        a.grade_level,
        c.section_name,
        b.school_year,
        d.grade_levelnumeric 
     from
        tblstudent as a 
     inner join
        tblclass as b 
           on b.LRN = a.LRN 
     inner join
        tblsection as c 
           on c.section_id=b.section_id 
     inner join
        tblgradelevel as d 
           on b.grade_level=d.grade_level 
     where
        b.school_year = '" & Comboschoolyear.Text & "' 
     order by
        gender ASC, section_name ASC, d.grade_levelnumeric DESC

这将首先按性别排列记录,然后 section_name 然后是年级。您可以根据需要互换年级、部门和性别。