精华内容
下载资源
问答
  • 这里的意思是查询全体学生的情况,查询结果按照所在系升序排列,如果是同一个系的则按年龄降序排序。 所以大家应该就明白了,其实这就是一个循环嵌套的过程,当order by Sdept遇到同一个Sdept之后怎么排????

    之前一直想不明白,当数据库在进行select用到order by的时候,后面order by的是几个属性列,那就有个问题了,到底是根据哪一个属性列来排序呢。

    下面用很典型的学生-课程数据库来举例说明

    select *
    from Student
    order by Sdept,Sage DESC
    

    这里的意思是查询全体学生的情况,查询结果按照所在系升序排列,如果是同一个系的则按年龄降序排序。

    所以大家应该就明白了,其实这就是一个循环嵌套的过程,当order by Sdept遇到同一个Sdept之后怎么排????那肯定就得用另一个order by来约束这些一样的元组排序啊。

    展开全文
  • 应用场景:如果我们按多列排序且有升序和降序的时候的写法。 排序时,有两个关键字 :asc 表示升序,desc 表示降序; 所以我们在order by 后面添加 asc, desc。 select s.bank_code,s.account_id,s.amount from...

    应用场景:如果我们按多列排序且有升序和降序的时候的写法。 

    排序时,有两个关键字 :asc  表示升序,desc 表示降序;

    所以我们在order by 后面添加 asc, desc。

    select s.bank_code,s.account_id,s.amount from Bp3_Bank_Account_Record s  order by 2 desc, 3 asc;
    

    这种写法,将Bp3_Bank_Account_Record该表的 account_id  字段 按降序排列,amount字段按照升序排列。 如果多个列也可以参考这种写法

    以下为截图:

    我们可以看到,按照第二列整体降序,按照第三列分区间升序排列。

     

    展开全文
  • 在MSOL中提供了在查询语句中使用ORDER BY子句来进行排序,其包括了单列排序和多列排序,同时还可以进行升序和降序排列。 1.单序排列 例; mysql>-按照学生的年龄以升序进行排列查询。 SELECT ID,StudentName,...

    MYSQL中的排序
    在MSOL中提供了在查询语句中使用ORDER BY子句来进行排序,其包括了单列排序和多列排序,同时还可以进行升序和降序排列。
    1.单序排列
    例;
    mysql>-按照学生的年龄以升序进行排列查询。
    SELECT ID,StudentName,Gender,Age FROM StudentInfo ORDER BY Age ASC;
    mysql>-按照学生的年龄以降序进行排列查询。
    SELECT ID,StudentName,Gender,Age FROM StudentInfo ORDER BY Age DESC;
    2.多列排序
    MySQL除了支持单列排序外,还可以按多列排序。多列排序时,Order by子句后面跟多个字段,路间用逗号隔开,每个字段后面都可以跟ASC或DESC。多列排序的基本运算过程是:数据库引按照第一一个字段以及升、降序规则排序查询结果,如果查询结果里在这个字段上有重复值,则科放些存在重复值的数据行按照第二个排序字段及其升、降序规则进行排序,以此类推。
    例:查询所有学员的信息,按照年龄从大到小排序,同岁的学生按照出生日期从小到大进行掉列,命令:
    myopb SELECT ID,StudentName GenereAgeBithdayFROM Studentifo ORDER BY Age
    DESC,Birthday ASC;

    展开全文
  • 数据库作业五

    2020-12-14 17:08:34
    索引:可以建立在该表的一列或多列上,各列名之间要用逗号分隔 表名:要建索引的基本表的名字 次序:指定索引值的排列次序,ASC:升序,DESC:降序,ASC:缺省值 例【3.13】 学生表和课程表分别按照学号和课序号进行...
  • 查询某或者某些的记录:将*号换成名字[col_name],用‘,‘号隔开;查询指定条件下的记录:模糊查询:#逻辑运算符 or and判断是否为null 不能用等于符合,要用is来判断:排序 order by:asc升序; desc...

    查询所有记录:

    select * from [表名];

    672201b097b4dd5264871cb3d762d00b.png

    查询某列或者某些列的记录:将*号换成列名字[col_name],多个列用‘,‘号隔开;

    e54aca90d4a9c6440d8a51e521d69f4f.png

    查询指定条件下的记录:

    e450fadfc14ff04754567de3c65333d4.png

    模糊查询:

    252cea0788fb617c8c3317997c7a9c7e.png

    7ce16ff8fb758f43f7098da1cf470870.png

    #逻辑运算符  or   and

    7d3d28d2075e0525b2f7b3c324d016e0.png

    03756143b0143b62315310f75c2e32fa.png

    判断是否为null 不能用等于符合,要用is来判断:

    3430d45c32e374f8c34a27d9677f234c.png

    排序 order by:

    asc升序;   desc降序

    按学号升序排列输出:select * from course_details order by s_id;

    8a58f4ad22fee329b5168d9b601fbc05.png

    不加是默认升序,加desc就是降序:

    125ecf8daa6210d21da180f187d5b089.png

    限制显示数据的数量 limit

    limit后接一个数时,默认从0号位开始取对应的个数;两个参数,如3,4表示从3号位开始取4个数。

    358c0b97981561ebadcf7c27fc824306.png

    这个功能可以用于分页。

    ***分组查询

    一般跟聚合函数一起使用:

    select dep_id as 学院id, count(dep_id) as 学生个数 from student group by dep_id;

    fcb37672ee867c772d11c5ff72cfdd5a.png

    select dep_id 学院id,group_concat(s_id,name separator ‘  ‘) 学生信息 from student group by `dep_id`;

    0bc65a11578e13b4dd11cd5d489e32ff.png

    having条件

    select dep_id 学院id,count(dep_id) 学生个数 from student group by dep_id having 学生个数>1;

    518251ce908837574f1918759125825b.png

    having是在selecct返回的内容里面筛选,而where是在表中直接筛选。

    子查询:出现在其他SQL语句内的SELECT字句。

    嵌套在查询内部;

    必须始终出现在圆括号内;

    可以包含多个关键字或条件。

    select * from stu_details where age>18.25;

    select * from stu_details where age>(select avg(age) from stu_details);

    3a89c2aaf11a47370dd01c8a1fb613e1.png

    select * from student where dep_id in (select id from department where name in (‘计算机‘,‘外国语‘));

    0f72ea8b374b670bdeb4c566e280669d.png

    ***联表查询***

    内连接 inner join

    无条件内连接:无条件内连接,又名交叉连接/笛卡尔连接,第一张表种的每一项会和另一张表的每一项依次组合。

    有条件内连接:在无条件的内连接基础上,加上一个ON子句,当连接的时候,筛选出那些有实际意义的记录行来进行拼接。

    在写条件时注意两张表的列名是否一样,如果时一样的则要在前面加上表名,tb_name.colname这种形式存在。

    select * from student inner join department;  无条件内连接

    80765fd2a3196e6f059ffb04b2104ffd.png

    select * from student inner join department on dep_id=id;  有条件内连接

    2992242ef966e8e91caad1197bac6b34.png

    select s.name,d.name from student s inner join department d on dep_id=id;

    查询学生姓名和对应的学院名字:

    45de40cd8b7a7004574c2c7f092e5377.png

    外连接  left join; right join;

    左外连接: (以左表为基准)两张表做连接的时候,在连接条件不匹配的时候,留下左表中的数据,而右表中的数据以NULL填充

    右外连接: (以右表为基准)对两张表做连接的时候,在连接条件不匹配的时候,留下右表中的数据,而左表中的数据以NULL填充

    select * from student left join department on dep_id = id;

    6ef0e7379e827c6d631fdbd121ed5afd.png

    select * from student right join department on dep_id = id;

    7803a9bd91766fbdf380bb95bec11544.png

    #需求:  作为宿管, 学生的 ( 姓名, 年龄,性别,所属学院)

    22fcaa5c68334bb46f73470892d0580e.png

    事物 是数据库运行中的一个逻辑工作单位。

    原子性:

    事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。

    一致性:

    事务在完成时,必须使所有的数据都保持一致状态。

    隔离性:

    由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。

    为了保证数据库记录的更新从一个一致性状态变更为另一个一致性状态,使用事务来处理是非常必要。

    案例:假设现在用户小明在商店买了500元东西,现在要转账给商店,那么就需要从小明的账户上减去500,然后在商店的用户上加

    上500,但是如果在减500的过程中出现了系统故障,再重新启动后发现小明的钱扣了,但商店却没有收到,这时候就会出现数据变动不

    一致。对于这种数据的修改我们需要的就是要么同时修改成功,要么同时修改失败,所以这就需要用事务来进行出来。

    start transaction:开始一个新的事务

    commit:提交当前事务,做出永久改变

    rollback:回滚当前事务,放弃修改

    先给小明和店户创建一个银行账户:

    create table account(

    id int not null,

    name varchar(20) not null,

    mony float

    );

    给老板和小明的账户插值,初始化账户,然后执行转账的操作:

    f4e38ae9b6d1426bdde3a084fb08acc2.png

    如果转账后系统崩溃,老板没有收到钱,则用rollback还原数据:

    27ec9da8744ed26327d1d4f476174299.png

    正确的执行如下:

    42ca8ad355ac4cd57971b29e565f09a9.png

    commit之后再rollback是没有作用的,但是不会报错!

    mysql数据库查询

    标签:bubuko   并发   width   inner   arch   count   创建   存在   table

    本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

    本文系统来源:https://www.cnblogs.com/dan-baishucaizi/p/8335078.html

    展开全文
  • 此外,如果结果按照特定的内容升序或降序排列,很时候会很有帮助。 这些事情可以在一个结构化查询语言查询中使用如同和订购人来完成。 在结构化查询语言中,AS关键字可以用来使引用变得更容易。 例如,您可能...
  • 1、复杂查询 1.1排序 1.1.1语法 ...​ 降序排列 1.1.3注意事项 ​ 排序的条件有个,只有当第一个排序的字段值相同时,才比较第二个排序字段的值 1.2聚合函数 ​ 1.介绍 ​ 将一数据作...
  • DQL:查询语句 1.排序查询 语法:order by 子句 ... //按照数学成绩升序排列,如果数学成绩一样,则根据英语程序升序排列 2.聚合函数:将一数据作为一个整体,进行纵向的计算 ** 注意:聚合函数会排除null值**
  • 数据库检索学习

    2017-02-23 14:23:55
    1、ORDER BY子句位于SELECT语句的末尾,它允许指定按照一个或者进行排序, 还可以指定排序方式是升序(从小到大排列,ASC)还是降序(从大到小排列,DESC)  2、按照年龄升序排序所有员工信息的列表...
  • 第一种:先来看一种使用Limit和Offset两个关键字的解法,MySQL中Limit后面的数字限制了我们返回数据的个数,Offset是偏移量,那么如果我们想找第二高薪水,我们首先可以先对薪水进行降序排列,然后我们将Of...
  • 25、查询选课数超过2门的学生学号及其选课数,查询结果按选课数降序排列。 实验3 数据库表查询 一、实验目的 继续熟练SQL-SELECT语句的使用;理解表查询的概念;掌握表连接查询中各个子句的用法,特别要...
  • 插入优化 ...如果排序的个,一定要按照全部升序或者降序来进行排列。 而且也要按照索引的顺序来进行排列 group by优化 索引 嵌套查询 选择表连接 替换 子查询 用union 代替 or 优化分页 使用...
  • 对查询结果按照一个或个属性的升序(ASC)或降序(DESC)排列,缺省为ASC。 四、聚集函数 COUNT([DISTINCT | ALL] *) 统计元组个数 COUNT([DISTINCT | ALL] ) 统计一中值的个数 SUM([DISTINCT | ALL] ) 计算...
  • 分析函数为每组记录返回个行rank_number()查询结果按照次序排列,不存在并列和站位的情况,可以用于做Oracle的分页例如:SELECT tname,sal,row_number() OVER(ORDER BY sal DESC) 降序 FROM teacher;查询结果如图...
  • mysql基础

    2020-12-15 09:48:46
    进入mysql: mysql -u root -p 选择数据库 USE test // 选择test数据库 显示有哪些表: SHOW TABLES 选择表内容 ...以某一列降序排列 SELECT * FROM art ORDER BY id DESC LIMIT 5; 根据个列排序 SE
  • 多列之间以分号分隔。 b) –i 数据库表名 数据文件路径名 表示从指定文本文件中导入数据到数据库的表中 数据文件格式如下:  每条记录占一行,一行中的数据每列之间以逗号分隔。 注意:实际提交后测试的数据...
  • 6.查找借阅了三本书以上的读者,并出他们的names、IDs以及所借阅图书的数量,查询结果按所借阅图书的数量降序排列; 7.出没有借阅图书的所有读者; 8.按字母顺序出是Pittsburgh居民(电话号码以412开头)并...
  • MySQL索引介绍

    2017-01-10 13:37:31
    索引由数据库表中一列或者多列组合而成,其作用是提高对表中数据的查询速度。 创建索引是指在某个表的一列或者多列上建立一个索引,用来提高对表的访问速度, 创建索引由三种方法:在创建表的时候创建,在已存在的表...
  • 1、ORDER BY子句位于SELECT语句的末尾,它允许指定按照一个或者进行排序,还可以指定排序方式是升序(从小到大排列,ASC)还是降序(从大到小排列,DESC)。 2、按照年龄升序排序所有员工信息的列表: ...
  • 用户可以用 order by 子句对查询结果按照一个或个属性的升序(ASC)或降序(DESC)排列,缺省值为升序。 例 24 查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排序。 select sno,grade from sc...
  • 建立索引 语句格式 CREATE [UNIQUE] [CLUSTER] INDEX <...索引:可以建立在该表的一列或多列上,各列名之间用逗号分隔 <次序>:指定索引值的排列次序,升序:ASC,降序:DEC。缺省:AS...
  • 一、索引的建立与删除 ...索引: 可以建立在该表的一列或多列上,各列名之间用逗号分隔 <次序>: 指定索引值的排列次序,升序:ASC,降序:DESC。缺省值:ASC(即什么都不写时默认为升序排列) 2.修改索引
  • 2020-12-19

    2020-12-19 13:15:26
    MySQL数据库的查询(order by) ...  上面展示的是对多列数据age,id进行降序排列;先排序的是age,后排序的为id,所以上面sql语句的意思是:对age进行降序排序后,再在年龄相同的情况下,对id也进行降序的排序。 .
  • 一、SQL入门语句之ORDER BY ORDER BY 是用来基于一个或按升序或降序顺序排列数据 ...2、从数据库表获取全部数据按字段A的降序排列  select *from table_name order by字段A DESC 3、从数据库表获取...
  • MySQL--排序检索数据

    2018-06-13 18:27:43
    关系数据库设计理论认为:如果不明确规定排序顺序,则不应该假定检索出的数据的顺序...(默认按照升序排列)如果想按照降序排列,可以使用关键字DESC(DESC只应用到直接位于其前面的列名。如果想在上进行降序排...
  • 索引由数据库表中一列或者多列组合而成,其作用是提高对表中数据的查询速度。创建索引是指在某个表的一列或者多列上建立一个索引,用来提高对表的访问速度,创建索引由三种方法:在创建表的时候创建,在已存在的表上...
  • SQLite 索引(Index)

    千次阅读 2018-02-06 09:52:08
    索引(Index)是一种特殊的查找表,数据库搜索引擎用来加快数据检索。简单地说,索引是一个指向表... 使用CREATE INDEX语句创建索引,它允许命名索引,指定表及要索引的一列或多列,并指示索引是升序排列还是降序排列...
  • sql总结

    2020-08-31 15:26:12
    文章目录sql总结一、sql基本关键字二、线上修改库时新增三、Mybatis转义字符三、数据库时间相关四、新增数据获取主键五、简单Case函数和Case搜索函数六、数据库字典...DESC:降序排列 UNION: 操作符用于合并两个或

空空如也

空空如也

1 2 3 4
收藏数 77
精华内容 30
关键字:

数据库多列降序排列