在 mysql 中,根据 order by 子句进行排序,依据指定列或关系式对结果集开展升序(asc)或降序(desc)排序。也可以用关系式自定义排序、特定多列排序和变更 null 值的处理方法。
MySQL 排列设定
在 MySQL 中,排列能通过 ORDER BY 子句来达到。ORDER BY 子句允许你依据指定列或关系式对结果集进行排序。
词法:
SELECTcolumn_name(s)
FROMtable_name
ORDER BY column_name(s)[ASC| DESC]
其中:
column_name(s):要排序的列或关系式。 ASC:升序排序(由小到大)。 DESC:降序排序(从大到小)。实例:
依据员工姓名升序排序:
SELECTname
FROMemployees
ORDER BY name ASC;
依据销售额降序排序:
SELECTproduct_name,sales
FROMproducts
ORDER BY sales DESC;
自定义排序:
除了直接应用列名进行排序,也可以使用关系式去进行自定义排序。比如,可以用 CASE 句子根据特殊条件对结果集进行排序:
SELECTname
FROMemployees
ORDER BY CASE
WHENgender=MaleTHEN1
WHENgender=FemaleTHEN2
ELSE3
END;
在这个示例中,职工按性别排列,男士先于女士。
多列排序:
ORDER BY 子句能同时特定多个列用以排列。比如,下列查看按姓式升序排序,随后按名字升序排序:
SELECTname
FROMemployees
ORDER BY last_name ASC,first_name ASC;
NULL 值解决:
默认情况下,NULL 值在排列中被称作最高值。要变更此行为,可以用 NULLS FIRST 或 NULLS LAST 关键词:
NULLS FIRST:将NULL 值放到排列结论的开头。 NULLS LAST:将NULL 值放到排列过程的结尾。比如,下列查看按销售额降序排序,并把NULL 值放到开始:
SELECTproduct_name,sales
FROMproducts
ORDER BY sales DESCNULLSFIRST;
以上就是mysql排序怎么设置的详细内容,大量请关注其他类似文章!