精华内容
下载资源
问答
  • sql 升序降序排列降序 SELECT * FROM kc ORDER BY cpbh DESC 升序 SELECT * FROM kc ORDER BY cpbh asc 实例: /*查询学生表中姓名、学号,并以学号降序排序*/ select name,StuID from Students_information order ...

    sql 升序降序排列

    降序 SELECT * FROM kc ORDER BY cpbh DESC 升序 SELECT * FROM kc ORDER BY cpbh asc 实例: /*查询学生表中姓名、学号,并以学号降序排序*/ select name,StuID from Students_information order by StuID desc /**order by 以什么排序,默认为升序,desc是降序*/ /*查询学生表中前5名学生的姓名,学号,并以学号升序排列*/ select top 5 name,StuID from Students_information order by StuID /*order by 默认为升序*/ 扩展资料 ORDER BY 语句: ORDER BY 语句用于根据指定的列对结果集进行排序。

    ORDER BY 语句默认按照升序对记录进行排序。 实例: 1,AddTime 升序,ID 升序 select * from DS_Finance ORDER BY AddTime,ID; 2,AddTime 升序,ID降序 select * from DS_Finance ORDER BY AddTime,ID DESC; 3,AddTime 降序,ID升序 select * from DS_Finance ORDER BY AddTime DESC,ID ; 4,AddTime 降序,ID降序 select * from DS_Finance ORDER BY AddTime DESC,ID DESC; 参考资料:百度百科-结构化查询语言。

    mysql数据库,排序的语句

    在执行查询结果时,默认情况下查询结果无序排列。但我们有时需要对数据按一定规则进行排序。这时可以通过ORDER BY子句来实现这个功能。语法如下:

    SELECT FROM table

    [WHERE condition(s)]

    [ORDER BY column[ASC|DESC]];

    默认是ASC指定的升序排列,DESC用来指定降序排列。

    1、升序排序:

    使用ORDER BY子句时,默认情况下数据是按升序排列的,故可以用ASC关键字指点升序排列,或者不指定,默认就是升序,显示效果是一样的,如下图:

    2、降序排序:

    当需要查询结果降序排列时,必须在排序后指定DESC关键字。如下图是查看职员薪水的降序排列:

    展开全文
  • 阅读本文大概需要 7分钟前言上篇文章我们学习了 MySQL 的五种约束,今天这篇文章我们来学习下 SELECT 语句。在数据库操作语句中,使用最频繁,也被认为最重要的是 SELECT 查询语句。在之前的学习中,我们已经在不少...

    阅读本文大概需要 7 分钟

    88dedf81a4178a334e282b92ee003a02.png

    前言上篇文章我们学习了 MySQL 的五种约束,今天这篇文章我们来学习下 SELECT 语句。在数据库操作语句中,使用最频繁,也被认为最重要的是 SELECT 查询语句。在之前的学习中,我们已经在不少地方用到了SELECT * FROM table_name; 这条语句用于查看一张表中的所有内容。而 SELECT 与各种限制条件关键词搭配使用,具有各种丰富的功能,这次就进行详细的介绍。1、目录
    • SELECT 基本语法

    • 数学符号条件

    • AND OR IN

    • 通配符

    • 排序

    • SQL 内置函数和计算

    • 子查询与连接查询

    2、SELECT 基本语法SELECT 语句的基本格式为:
    SELECT 要查询的列名 FROM 表名字 WHERE 限制条件;
    如果要查询表的所有内容,则把要查询的列名用一个星号*号表示,代表要查询表中所有的列。而大多数情况,我们只需要查看某个表的指定的列,比如要查看 employee 表的 name 和 age:
    SELECT name,age FROM employee;

    c03a68652760aea6a3a785d6e0ef845b.png

    3、数学符号条件SELECT 语句常常会有 WHERE 限制条件,用于达到更加精确的查询。WHERE 限制条件可以有数学符号 (=,,>=,<=) ,之前的例子,我们查询了 name 和 age,现在稍作修改:筛选出 age 大于 25 的结果:
    SELECT name,age FROM employee WHERE age>25;

    1de7060f7e84d251c5e9b86d982cac10.png

    或者查找一个名字为 xiaofu 的员工的 name,age 和 phone:

    0daaf61bb3c4e3b65f9bf7175fa77a32.png

    4、“AND” 与 “OR”从这两个单词就能够理解它们的作用。WHERE 后面可以有不止一条限制,而根据条件之间的逻辑关系,可以用 [条件一 OR 条件二]] 和 [条件一 AND 条件二] 连接:例如,筛选出 age 小于 25,或 age 大于 30:
    SELECT name,age FROM employee WHERE age<25 OR age>30;

    1cf704097eb28e240d0ece82b6cc4b83.png

    筛选出 age 大于 25,且 age 小于 30:
    SELECT name,age FROM employee WHERE age>25 AND age<30;

    c9a29fc82ec13fb16d5283d64af4d021.png

    而刚才的限制条件 age>25 AND age<30 ,如果需要包含 25 和 30这两个数字的话,可以替换为 age BETWEEN 25 AND 30 。注意这里是包含了 25 和 30 的:

    b09b7766cb14e0e2b722ef5a2ccb435c.png

    5、 IN 和 NOT IN关键词 IN 和 NOT IN 的作用和它们的名字一样明显,用于筛选“在”或“不在”某个范围内的结果,比如说我们要查询所在部门在 dpt3 或 dpt4 的人:
    SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt IN ('dpt3','dpt4');

    8964f1dc5942562ff60e391de96ecb66.png

    而 NOT IN 的效果则是,如下面这条命令,查询出了不在 dpt1 也不在 dpt3 的人:
    SELECT name,age,phone,in_dpt FROM employee WHERE in_dpt NOT IN ('dpt1','dpt3');

    5c44bdbcc58e0d2d5d041c994e40f21c.png

    6、对结果排序为了使查询结果看起来更顺眼,我们可能需要对结果按某一列来排序,这就要用到 ORDER BY 排序关键词了。默认情况下,ORDER BY 的结果是升序排列,而使用关键词 ASC 和 DESC 可指定升序降序排序。比如,我们按 salary 降序排列,SQL语句为:
    SELECT name,age,salary,phone FROM employee ORDER BY salary DESC;

    a9449f3b8a4875250207f9c7ee506c81.png

    需要注意:如果语句后面不加 DESC 或 ASC ,则默认按照升序排列。应用场景:订单列表按照时间先后顺序显示订单;博客系统中按时间先后顺序显示文章。7、SQL 内置函数和计算SQL 允许对表中的数据进行计算。对此,SQL 有 5 个内置函数,这些函数都对 SELECT 的结果做操作:

    e6bea859e3d6c2a359d9a9a9e3ee4bce.png

    其中 COUNT 函数可用于任何数据类型(因为它只是计数),而 SUM 、AVG 函数都只能对数字类数据类型做计算,MAX 和 MIN 可用于数值、字符串或是日期时间数据类型。比如计算出 salary 的最大、最小值,用这样的一条语句:
    SELECT MAX(salary) AS max_salary,MIN(salary) FROM employee;
    上面的这条语句,有一个细节你或许注意到了,使用 AS 关键词可以给值重命名,比如最大值被命名为了 max_salary:

    2328ac24c5d67891e35d4cd1b7e20259.png

    其它函数大家可以在自己动手实践一下,加深理解。8、子查询上面讨论的 SELECT 语句都仅涉及一个表中的数据,然而有时必须处理多个表才能获得所需的信息。例如:想要知道名为 "Tom" 的员工所在部门做了几个工程。员工信息储存在 employee 表中,但工程信息储存在 project 表中。对于这样的情况,我们可以用子查询:
    SELECT of_dpt, COUNT(proj_name) AS count_project FROM project GROUP BY of_dptHAVING of_dpt IN (SELECT in_dpt FROM employee WHERE name='xiaobai');
    上面代码包含两个 SELECT 语句,第二个 SELECT 语句将返回一个集合的数据形式,然后被第一个 SELECT 语句用 in 进行判断。HAVING 关键字可以的作用和 WHERE 是一样的,都是说明接下来要进行条件筛选操作。区别在于 HAVING 用于对分组后的数据进行筛选。

    c0840cbc585218a69b764d279d9f0270.png

    9、连接查询在处理多个表时,子查询只有在结果来自一个表时才有用。但如果需要显示两个表或多个表中的数据,这时就必须使用连接 (join) 操作。连接的基本思想是把两个或多个表当作一个新的表来操作,如下:
    SELECT id,name,people_numFROM employee,departmentWHERE employee.in_dpt = department.dpt_nameORDER BY id;
    这条语句查询出的是,各员工所在部门的人数,其中员工的 id 和 name 来自 employee 表,people_num 来自 department 表:

    c0840cbc585218a69b764d279d9f0270.png

    另一个连接语句格式是使用 JOIN ON 语法,刚才的语句等同于下面这条,结果也相同。
    SELECT id,name,people_numFROM employee JOIN departmentON employee.in_dpt = department.dpt_nameORDER BY id;
    10、总结本节实验中学习了 SELECT 语句的常用方法:基本语法、数学符号条件、AND OR IN、模糊查询、对查询结果排序、SQL 内置函数和计算、子查询与连接查询。

    今天的学习就到这里啦。

    如果大家在阅读的过程中,有什么建议和看法,非常欢迎在下方留言,每个留言我都会认真看的497a0d5780ced6ed3a48695833b7ff2e.png

    参考:

    https://www.shiyanlou.com/courses/9

    推荐阅读:

    从零开始学习 MySQL 系列--基础三剑客

    从零开始学 MySQL -- 创建数据库并插入数据

    从零开始学 MySQL -- 常见的五种约束条件

    8ec51863f9e1109adfc8da92d4ab1db1.png

    认真的人,自带光芒!

    原创不易

    点个在看哦

    507a2fdfab85ef347f96c3f12e3ccf88.gif

    展开全文
  • 前言:前面几篇文章为大家介绍了DML以及DDL语句的使用方法,本篇文章将主要讲述常用的查询语法。其实MySQL官网给出了多个示例数据库供大家实用查询,下面我们以最常用的员工示例数据库为准,详细介绍各自常用的查询...

    前言:

    前面几篇文章为大家介绍了DML以及DDL语句的使用方法,本篇文章将主要讲述常用的查询语法。其实MySQL官网给出了多个示例数据库供大家实用查询,下面我们以最常用的员工示例数据库为准,详细介绍各自常用的查询语法。

    1.员工示例数据库导入

    官方文档员工示例数据库介绍及下载链接:

    https://dev.mysql.com/doc/employee/en/employees-installation.html

    同样的,为了方便大家,我这里将员工库的数据库备份分享给大家,大家也可以下载我这份数据,然后再解压导入进你们本地库就可以了。

    链接: https://pan.baidu.com/s/13s1OH-3DepN-rpejys76Ww  

    密码: 2xqx

    下载解压后,直接导入即可,如链接失效可后台联系我。

    如果你导入完成,就可以看到下面这6张表了,这就是我们接下来练习查询语法要用的表哦。

    723c666bed5085991c8889c1c67502f7.png

    为了让大家对示例数据库更了解,这里给出此数据库各表之间的关系图:

    db68ccec7df2cf364c516079ef2b60bb.png

    简单介绍下这6张表:

    • departments :部门表,记录的是9个部门的部门编号和部门名称。

    • dept_emp :部门员工表,记录各部门员工数据,员工id和部门id,起始时间和结束时间(注:9999-01-01的意思就是仍在该部门就职)。

    • dept_manager :部门经理表,同第二张表结构差不多,记录每个部门的每个经理的任职时期。

    • employees :员工信息表,记录员工信息,员工编号emp_no是唯一键值。

    • salaries :薪资表,记录每个员工每段时期的薪资。

    • titles :职称表,记录每个员工每段时期的职位名称。

    2.模糊查询

    #查找名字以L开头的员工信息SELECT * FROM employees WHERE first_name LIKE 'L%'

    3.排序

    #按部门编号排序mysql> SELECT * FROM departments ORDER BY dept_no;+---------+--------------------+| dept_no | dept_name          |+---------+--------------------+| d001    | Marketing          || d002    | Finance            || d003    | Human Resources    || d004    | Production         || d005    | Development        || d006    | Quality Management || d007    | Sales              || d008    | Research           || d009    | Customer Service   |+---------+--------------------+9 rows in set (0.00 sec)总结:order by排序默认按asc升序来排列也可指定desc降序排列

    4.限制多少行

    #取前5行mysql> SELECT * FROM employees LIMIT 5;+--------+------------+------------+-----------+--------+------------+| emp_no | birth_date | first_name | last_name | gender | hire_date  |+--------+------------+------------+-----------+--------+------------+|  10001 | 1953-09-02 | Georgi     | Facello   | M      | 1986-06-26 ||  10002 | 1964-06-02 | Bezalel    | Simmel    | F      | 1985-11-21 ||  10003 | 1959-12-03 | Parto      | Bamford   | M      | 1986-08-28 ||  10004 | 1954-05-01 | Chirstian  | Koblick   | M      | 1986-12-01 ||  10005 | 1955-01-21 | Kyoichi    | Maliniak  | M      | 1989-09-12 |+--------+------------+------------+-----------+--------+------------+5 rows in set (0.00 sec)mysql> SELECT * FROM employees ORDER BY hire_date desc LIMIT 5;+--------+------------+------------+-----------+--------+------------+| emp_no | birth_date | first_name | last_name | gender | hire_date  |+--------+------------+------------+-----------+--------+------------+| 463807 | 1964-06-12 | Bikash     | Covnot    | M      | 2000-01-28 || 428377 | 1957-05-09 | Yucai      | Gerlach   | M      | 2000-01-23 || 499553 | 1954-05-06 | Hideyuki   | Delgrande | F      | 2000-01-22 || 222965 | 1959-08-07 | Volkmar    | Perko     | F      | 2000-01-13 ||  47291 | 1960-09-09 | Ulf        | Flexer    | M      | 2000-01-12 |+--------+------------+------------+-----------+--------+------------+5 rows in set (0.11 sec)总结:limit限定显示前多少行,可与order by联合使用

    5.聚合函数

    #查找某员工薪水总和SELECT SUM(salary) FROM salaries WHERE emp_no = 10001;#统计历史上各个部门所拥有的员工数量,并降序排序mysql> SELECT dept_no, COUNT(*) AS emp_sum FROM dept_emp GROUP BY dept_no ORDER BY emp_sum DESC;+---------+---------+| dept_no | emp_sum |+---------+---------+| d005    |   85707 || d004    |   73485 || d007    |   52245 || d009    |   23580 || d008    |   21126 || d001    |   20211 || d006    |   20117 || d003    |   17786 || d002    |   17346 |+---------+---------+9 rows in set (0.07 sec)

    6.JOIN

    #可以试下下面3个语句执行结果的不同SELECT *FROM salaries INNER JOIN dept_empON salaries.emp_no = dept_emp.emp_noWHERE salaries.emp_no = 10010;SELECT *FROM salaries LEFT JOIN dept_empON salaries.emp_no = dept_emp.emp_noWHERE salaries.emp_no = 10010;SELECT *FROM salaries RIGHT JOIN dept_empON salaries.emp_no = dept_emp.emp_noWHERE salaries.emp_no = 10010;总结:a left join b  a表全,用b表去匹配a表LEFT JOIN 关键字会从左表 (a) 那里返回所有的行,即使在右表 (b) 中没有匹配的行,匹配不到的列用NULL代替a right join b  b表全,用a表去匹配b表RIGHT JOIN 关键字会右表 (b) 那里返回所有的行,即使在左表 (a) 中没有匹配的行,匹配不到的列用NULL代替inner join 与join 效果一样在表中存在至少一个匹配时,INNER JOIN 关键字返回行

    总结: 

    推荐大家在本地导入这个示例数据库,其实这个数据库是练习查询语法的好素材。对于我们日常学习或工作中,用的最多的应该就是查询语句了,个人以为写查询SQL没有技巧,只有多加练习才能快速写出能解决需求的SQL。

    猜你喜欢

    入门MySQL——架构篇

    入门MySQL——基础语句篇

    入门MySQL——DML语句篇


    — END —

    如果你喜欢我的文章

    请在文末右下角点一下在看

    5c00acd29a447d4fe612870f903a6164.png

    展开全文
  • 汇总分析练习五:查询课程编号为‘0002’的总成绩练习六:查询选了课程的学生人数练习七:查询各科成绩最高最低的分练习八:查询每门课程被选修的学生人数练习九:查询男生女生人数练习十:查询平均成绩大于60分...

    1.简单查询

    练习一:查询姓猴的学生名单

    0349a58917059a5d94f6504e1f55d7fb.png

    练习二:查询姓名中最后一个字是猴的学生名单

    6a9f5db00589be7694d41323da138a8e.png

    练习三:查询姓名中带猴的学生名单

    8081c24d69244e2dc7cfbbc2911246a3.png

    练习四:查询姓孟老师的个数

    6d640b092c698be7c595a453a1d44ca3.png

    2.汇总分析

    练习五:查询课程编号为‘0002’的总成绩

    079e5efbbf22f765d13951443b1d19d6.png

    练习六:查询选了课程的学生人数

    d6184aa308624458efc59e90a56798ca.png

    练习七:查询各科成绩最高和最低的分

    5e749a78ecdadb52b6f38cf018d539f5.png

    练习八:查询每门课程被选修的学生人数

    4e0fd43f9ad5c3944b36488dcf077d6b.png

    练习九:查询男生女生人数

    7d71fc1ea86b17efc78b981bd90f01c5.png

    练习十:查询平均成绩大于60分学生的学号和平均成绩

    04df44f12533289600806df6298b4974.png

    练习十一:查询至少选修两门课程的学生学号

    ee8b233abf1c9875764b5c788bf8bf84.png

    练习十二:查询同名同姓学生名单并统计同名人数

    62e7ce5ac8bb4121c4eea6c3f189be6b.png

    练习十三:查询不及格的课程并按照课程号从大到小排列

    910b76c0e72fa4e9c6cf4a920522f937.png

    练习十四:查询每门课程的平均成绩,结果按平均成绩升序排序,平均成绩相同时,按课程号降序排列

    fe212a65a0757505f2192fc92af407d6.png

    练习十五:检索课程编号为“0004”且分数小于60的学生学号,结果按按分数降序排列

    3c3e510b8853029891ec9e3efad38cc3.png

    练习十六:统计每门课程的学生选修人数(超过2人的课程才统计),要求输出课程号和选修人数,查询结果按人数降序排序,若人数相同,按课程号升序排序

    854c5319ad6d81b1ccad5266728d8019.png

    练习十七:查询两门以上不及格课程的同学的学号及其平均成绩

    f1f36387329de13641d275bff207090c.png

    三.复杂查询

    练习十八:查询所有课程成绩小于60分学生的学号、姓名

    思路:1.查询所有学生的学号,姓名。2.条件是:所有课程的成绩小于60

    4e29855d0d8daa1229b0a7c083a129cf.png

    练习十九:查询没有学全所有课的学生的学号、姓名

    e5d15e10d274da8188064bf0bc12fce8.png

    练习二十:查询出只选修了两门课程的全部学生的学号和姓名

    491720ebf83e984a6e3a55c3bd96c809.png

    练习二十一:1990年出生的学生名单

    431dd1026ce4b62f86a295cb30591413.png
    应用日期函数year()

    732a17ed96a60ba40fe719bc902878f2.png

    面试题补充:

    2e7c45b30dc94e349ed833b4cd58ea1c.png

    练习二十二:分组取每组最大值,按课程号分组取求成绩最大值所在行的数据

    43dd0acd48ae7284dda4e0b15a7cd1c9.png
    关联子查询

    练习二十三:按课程号分组取成绩最小值所在行的数据

    905e9b56cd9d49da94047616798da7c3.png

    案例:练习二十四:查询各科成绩前两名的记录(topN系列问题)

    第1步,先查出有哪些组,按课程号分组。

    查询有哪些课程号。

    35bb943bddf00179ed72f5a6182b1768.png

    (分别求出各个组的前两名)求课程号'0001' 这一组里成绩前2名。

    4a5d4fc5172c1a1124703f9a59ca065b.png

    写出其他组的(其他课程号)取出成绩前2名的sql

    978431749f484e123f2514ec7698ac34.png
    0002

    2c8af2c20396cc915f14d76f0d280fba.png
    0003

    使用union all 将每组选出的数据合并到一起,UNION ALL 命令和 UNION 命令几乎是等效的,不过 UNION ALL 命令会列出所有的值。UNION 操作符用于合并两个或多个 SELECT 语句的结果集。默认地,UNION 操作符选取不同的值。如果允许重复的值,使用 UNION ALL。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同

    (SELECT *
    from score
    WHERE 课程号='0001'
    ORDER BY 成绩 DESC
    LIMIT 2)
    UNION ALL
    (SELECT * 
    FROM score
    WHERE 课程号='0002'
    ORDER BY 成绩 DESC
    LIMIT 2)
    UNION ALL
    (SELECT *
    FROM score
    WHERE 课程号='0003'
    ORDER BY 成绩 DESC
    limit 2)

    88640269809e295e13acefabbe637f2d.png
    topN系列问题

    MySQL中的UNION

    UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的是过程表与历史表UNION。如

    select * from gc_dfys unionselect * from ls_jg_dfys

    这个SQL在运行时先取出两个表的结果,再用排序空间进行排序删除重复的记录,最后返回结果集,如果表数据量大的话可能会导致用磁盘进行排序。

    使用Union,则所有返回的行都是唯一的,如同对整个结果集合使用了DISTINCT。

    MySQL中的UNION ALL

    UNION ALL只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了。UNION ALL 要比UNION快很多,所以,如果可以确认合并的两个结果集中不包含重复的数据的话,那么就使用UNION ALL,如下:

    select * from gc_dfys union all select * from ls_jg_dfys

    如果使用ORDER BY或LIMIT子句来对全部UNION结果进行分类或限制,则应对单个地SELECT语句加圆括号,并把ORDER BY或LIMIT放到最后一个的后面

    例如
    (SELECT a FROM tbl_name WHERE a=10 AND B=1)   
    UNION 
    (SELECT a FROM tbl_name WHERE a=11 AND B=2) 
    ORDER BY a LIMIT 10; 

    四.多表查询

    练习二十五:查询所有学生的学号、姓名、选课数、总成绩

    505bf571661674c828a63e3bcd93e33b.png

    练习二十六:查询平均成绩大于85的所有学生的学号、姓名和平均成绩

    48247677123423a88a095dba2080f387.png

    练习二十七:查询学生的选课情况:学号,姓名,课程号,课程名称

    15d489f939d4dd94f799cbcb7ffabaa7.png

    -- 考察case表达式

    练习二十八:查询出每门课程的及格人数和不及格人数

    5d14f088618751cac023958dea660a1e.png

    练习二十九:使用分段[100-85],[85-70],[70-60],[‹60]来统计各科成绩,分别统计:各分数段人数,课程号和课程名称

    97b02fa1e355328156f044d4f39a787f.png

    练习三十:查询课程编号为0003且课程成绩在80分以上的学生的学号和姓名

    401ff8a0484a3cb1671553eabf459b8d.png

    练习三十一:面试题:行列如何互换的问题

    下面是学生的成绩表(表名score,列名:学号、课程号、成绩)

    1fd145d2a3a850b9f8a7f22a1fd15840.png

    使用sql实现将该表行转列为下面的表结构

    aeeb24f13ad44c97c8ac85126ff51c56.png

    第1步,使用常量列输出目标表的结构

    6442a36d8f970f2fa03a47f90b1274fb.png

    第2步,使用case表达式,替换常量列为对应的成绩/分组,并使用最大值函数max取出上图每个方块里的最大值

    682820d39e8d6787ce194d9c438387f8.png

    课上练习题共三十一道,结束。

    展开全文
  • 原文地址:《MySQL 入门教程》第 10 篇 数据排序原文作者:不剪发的Tony老师来源平台:CSDN默认情况下,SELECT语句不会对返回的结果进行排序,意味着查询结果的显示顺序是不确定的。如果想要将结果按照某种规则进行...
  • mysql 升序和降序

    2020-04-26 14:35:49
    MySQL排序 有时候很容易记混,我这里把他记录了下: desc是降序 ...MySql语句: 1.带条件的排序 select * from 表名 where Number=1 order by input_date desc -------------------降序 sele...
  • mysql升序和降序

    千次阅读 2017-02-27 16:56:02
    mysql升序和降序分别为desc和asc,一直记不清楚到底谁是升序,谁是降序,下面以sql语句和英文单词出发,更好的记清楚到底谁是升序,谁是降序。 1、select * from tableA order by number1 desc,number2 asc; ...
  • MySQL问题一 升序和降序

    万次阅读 2016-04-12 11:33:02
    浅谈MySQL升序和降序,便于我们读取数据。MySQL 排序 我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。 如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段哪中...
  • 什么是降序索引大家可能对索引比较熟悉,而对降序索引比较陌生,事实上降序索引是索引的子集。我们通常使用下面的语句来创建一个索引:create index idx_t1_bcd on t1(b,c,d);上面sql的意思是在t1表中,针对b,c,d三...
  • 或者/g结束,换句话说,仅按ENTER不执行命令输入help或者h获得帮助输入quit或exit退出MySql不区分大小写,但是很多人愿意对重要语句用大写,用表名等用小写,便于阅读在 MySQL 中,事务通常以 BEG...
  • 标准SQL 语句分类DDL:Data Define Language定义数据结构CREATE/DROP/ALTERDML:Data Manipulate Languge 操作数据INSERT/DELETE(删除)/UPDATE(修改)DQL:Data Query Language 查询数据SELECTDCL:Data Control Language...
  • 但是大家不知道的是,上面这个sql实际上下面的这个sql是等价的:asc表示的是升序,使用这种语法创建出来的索引叫做升序索引。也就是我们平时在创建索引的时候,创建的都是升序索引。可能你会想到,在创建的索...
  • 什么是降序索引大家可能对索引比较熟悉,而对降序索引比较陌生,事实上降序索引是索引的子集。我们通常使用下面的语句来创建一个索引:create index idx_t1_bcd on t1(b,c,d);上面sql的意思是在t1表中,针对b,c,d三...
  • 前言MySQL 8.0终于支持降序索引了。其实,从语法上,MySQL 4就支持了,但...无图无真相,同一个建表语句,看看MySQL 5.78.0的区别。create table slowtech.t1(c1 int,c2 int,index idx_c1_c2(c1,c2 desc));MySQL ...
  • 排序支持升序和降序,升序按照从低到高或者从小到大,降序按照从高到低或者从大到小。在ORDER BY子句后面添加关键字ASC可以让返回的记录按升序排序,添加关键字DESC可以让返回的记录按降序排序,如果省略ASC(升序)或...
  • 什么是降序索引大家可能对索引比较熟悉,而对降序索引比较陌生,事实上降序索引是索引的子集。我们通常使用下面的语句来创建一个索引:create index idx_t1_bcd on t1(b,c,d);上面sql的意思是在t1表中,针对b,c,d三...
  • 但是大家不知道的是,上面这个sql实际上下面的这个sql是等价的:asc表示的是升序,使用这种语法创建出来的索引叫做升序索引。也就是我们平时在创建索引的时候,创建的都是升序索引。可能你会想到,在创建的索...
  • 什么是降序索引 大家可能对索引比较熟悉,而对降序索引比较陌生,事实上降序索引是索引的子集。 我们通常使用下面的语句来创建一个索引: ...asc表示的是升序,使用这种语法创建出来的索引叫做升序索引
  • (4)找出员工岗位是SALESMAN 的员工,并按照工资的降序排列(5)另一种升序降序的写法3. 总结sql语句的执行顺序3.1 简单的查询语句3.2 带有where,order by 的查询语句 1. 语法 order by 语句用于根据指定的列对...
  • MySQL 8.0终于支持降序索引了。其实,从语法上,MySQL 4就支持了,但...无图无真相,同一个建表语句,看看MySQL 5.78.0的区别。create table slowtech.t1(c1 int,c2 int,index idx_c1_c2(c1,c2 desc));MySQL 5....
  • 前言mysql 8.0终于支持降序索引了。其实,从语法上,mysql 4就支持了,但...无图无真相,同一个建表语句,看看mysql 5.78.0的区别。create table slowtech.t1(c1 int,c2 int,index idx_c1_c2(c1,c2 desc));mysql ...
  • MySQL 8.0终于支持降序索引了。其实,从语法上,MySQL 4就...无图无真相,同一个建表语句,看看MySQL 5.78.0的区别。create table slowtech.t1(c1int,c2int,index idx_c1_c2(c1,c2 desc));提示,类似代码可左右...
  • MySQL SELECT 语句查询结果的顺序 select 子句中的顺序一致order by排序按照字段进行排序order by 字段 升序|降序 (asc|desc)默认升序允许多字段排序, 指的是先按照第一个字段排序, 如果说,不能区分, 使用下一个...
  • Mysql_高阶语句

    2021-04-16 14:36:30
    降序排序和升序降序:DESCORDER BY前面可以使用 where子句对查询结果进一步过滤默认升序:ASC2)多字段排序2. or / and (或/且)1) 嵌套/多条件查询3.查询不重复记录4.对结果进行分组5.限制条目结果6.设置别名二级...
  • 复现问题场景为了说明问题,模拟示例数据库表...预期结果:sAgesGrade两个字段都按降序排列实际结果:sAge按升序排序,sGrade按降序排列分析原因:order by 多个字段时,Sql语法理解错误导致查询结果集与期望不符。默...
  • 无图无真相,同一个建表语句,看看MySQL 5.78.0的区别。 create table slowtech.t1(c1 int,c2 int,index idx_c1_c2(c1,c2 desc)); MySQL 5.7 mysql> show create table slowtech.t1\G *************************...
  • 无图无真相,同一个建表语句,看看MySQL 5.78.0的区别。 create table slowtech.t1(c1 int,c2 int,index idx_c1_c2(c1,c2 desc)); MySQL 5.7 mysql> show create table slowtech...
  • mysql 中常用的语句i, 匹配字符:可以用通配符_代表任何一个...按数据的降序和升序排列iii,group by 分组.条件使用Having; having group by 是形影不离的好朋友.SELECT COUNT() FROM tb_name GROUP BY score HAVIN...
  • 1.首先我们提一下sql的执行顺序 1.from (表) 2.join (内外连接) 3.on (内外连接条件) 4.where (判断语句) 5.group by(表的列名,开始使用select中的...10.order by (升序降序) 11.limit (分页限制) ...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 236
精华内容 94
关键字:

mysql升序和降序语句

mysql 订阅