MySQL(五)DQL之排序查询

1、语法:

select 查询列表 from 表名【where  筛选条件】order by 排序的字段或表达式;

2、特点:

(1)asc代表的是升序,可以省略;desc代表的是降序

(2)order by子句可以支持 单个字段、别名、表达式、函数、多个字段

(3)order by子句在查询语句的最后面,除了limit子句

3、按单个字段排序

SELECT * FROM employees ORDER BY salary DESC;

4、添加筛选条件再排序

案例:查询部门编号>=90的员工信息,并按员工编号降序

5、按表达式排序

案例:查询员工信息 按年薪降序

6、按别名排序

案例:查询员工信息 按年薪升序

7、按函数排序

案例:查询员工名,并且按名字的长度降序

8、按多个字段排序

案例:查询员工信息,要求先按工资降序,再按employee_id升序

原文地址:https://www.cnblogs.com/leeqico/p/9063810.html

时间: 2024-11-08 12:04:45

MySQL(五)DQL之排序查询的相关文章

mysql根据汉字拼音排序查询

例如现在有一张数据表label,字段为id.name,此表的字符集设置为gb2312,以gb2312_chinese_ci整理. 设置InnoDB引擎的字符集也为简体中文,且整理为gb2312_chinese_ci. 查询语句如下: select * from label order_by name collate gb2312_chinese_ci; 效果如下: tip:有时候结果不是很准确,不知道是不是因为字符集选择的不当导致的,知道的朋友,请解答下,谢谢! mysql根据汉字拼音排序查询,

MySQL五-2:多表查询

阅读目录 一 介绍 二 多表连接查询 三 符合条件连接查询 四 子查询 五 综合练习 一 介绍 本节主题 多表连接查询 复合条件连接查询 子查询 准备表 company.employeecompany.department #建表 create table department( id int, name varchar(20) ); create table employee( id int primary key auto_increment, name varchar(20), sex e

MySQL进阶5--分组排序和分组查询 group by(having) /order by

MySQL进阶--分组排序和分组查询 group by(having) /order by /* 介绍分组函数 功能:用做统计使用,又称为聚合函数或组函数 1.分类: sum, avg 求和 /平均数, 只处理数值型,都绝对忽略NULL值(avg处理时统计的个数没有null项) max ,min ,可以求字符串最大最小 ,可以匹配日期,都绝对忽略NULL值 count ,不计算NULL ,不把null算进数里 #2. 参数支持类型 SELECT MIN(last_name) ,MAX(last_

MySQL优化分库分表,为什么要分表,分表以后如何进行排序查询,业务如何设计?

MySQL优化分库分表,为什么要分表,分表以后如何进行排序查询,业务如何设计? 昨天面试新人的时候,遇到了这么一个问题,按照自己的想法大体聊了一些,但大多是感性的,并没有完整的了解why and how. 今天查了一些相关的资料,包括<MySQL性能调优与架构设计>.<高性能Mysql>,慢慢的整体理解,请大家指正. 之一,为什么要分表? 分表,按形式,有水平分表和主附分表.水平分表常见于按ID取模或者按日期将相同表结构的内容散列到不同的表上,主附分表常见于有对应关系的多张表,通过

mysql 排序查询字段

排序查询语法: select 查询字段1from 表where [筛选条件]order by 要排序字段2 asc升序.desc 降序,要排字段3 asc升序.desc降序如果不写默认为升序 案例:查询员工信息,要求工资从高到低排序 SELECT * FROM employees ORDER BY salary DESC; #案例2:查询部门编号>=90,按入职日期升序的员工信息 SELECT * FROM employees WHERE department_id >=90 ORDER BY

MySQL数据库(五)—— 多表查询

一.准备sql # 创建部门表 create table dept ( id int primary key auto_increment, name varchar(20) ); insert into dept (name) values ('开发部'), (‘市场部’), ('财务部'); # 创建员工表 create table emp ( id int primary key auto_increment, name varchar(10), gender char(1), -- 性别

Mysql排序查询

#排序查询/*语法:select 查询列表 from 表 [where 筛选条件] order by 排序序列 [asc/desc] */SELECT * FROM employees ORDER BY salary DESC; #默认是asc(升序) #查询部门编号>=90的员工信息,按入职时间的先后排序SELECT * FROM employees WHERE department_id>=90 ORDER BY hiredate ASC; #按年薪的高低显示员工的信息和年薪SELECT

PHP与MYSQL中UTF8 中文排序例子

1. 需要在php数组中用中文排序,但是一般使用utf8格式的文件,直接用asort排序不行.用gbk和gb2312可以.这跟几种格式的编码有关系.gbk和gb2312本身的编码就是用拼音排序的. 代码如下 复制代码 function utf8_array_asort(&$array){if(!isset($array) || !is_array($array)){return false;}foreach($array as $k=>$v){$array[$k] = iconv('UTF-

转Oracle、MySql、SQLServer 数据分页查询

最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习..... (一). mysql的分页查询 mysql的分页查询是最简单的,借助关键字limit即可实现查询,查询语句通式: /* * sql:可以是单表的查询语句,也可以是多表的联合查询语句 * firstIndex:其实的索引 * pageSize:每页显示的记录数 */ select o.* from (sql) o limit firstIndex,pageSize