• MySQL中排序与去重用法


    distinct关键字

    描述:去重,默认情况下,mysql是会显示这些重复的行,如果需要把重复的数据只显示一次,使用distinct

    格式:select distinct 列名 from 表名  

    下面例子中在passenger表中找出cp_id列重复的只显示一次

    注意:如果有多个列的话,查询到的是,多个列组合起来重复的只显示一次

    limit关键字

    描述:设定查询结果返回的行,m表示返回的行数

    格式 select  列名    from  表名  limit   m;      

    那我们需要返回中间几行的数据,该怎么做?limit可以接收两个参数,第一个参数表示从哪行开始,第二个参数表示返回多少行

    格式 :select  列名    from  表名  limit   n,m;  

    select 列名 from 表名 limit 2,5           表示返回第3行开始往后5行的内容 (也就是返回第3、4、5、6、7行数据)

    有人肯定疑惑了,为什么是第3行开始呢?这里需要注意,因为mysql的行号从0开始计算的,所以这里的n就是3

    查询结关键字order by

     MYSQL默认是按照升序排序的,也就是ASC升序

    格式:select 列名1 from 表名 order by 列名2  ASC;

    注意上面两个列名1和列名2没有联系,第一个列名1是要查看的列,第二个列名2是想要排序的列民

    那如果想要对多个列排序的话?是怎样的呢。

    格式:select 列名 from 表名 order by 列名1,列名2;

    先按列名1排序,当第一个列值相同的时候,再按列名2排序,如果第一个列值没有相同的,则不会按照列名2排序

    降序排序 DESC

    格式:select 列名 from 表名 order by 列名1  DESC;

    那如果对多个列降序排序呢?只应用于直接位于其前面的列名,也就是下面格式中的列名2,这个和升序不同

    格式:select  *  from 表名  order by  列名1 ,列名2  DESC ;

    那如果想要多多个列去降序排序,怎么办?如果想在多个列上进行降序排序,必须对每个列指定 DESC 关键字。

    格式:select  *  from 表名  order by  列名1 DESC ,列名2  DESC ;

    order by与limit组合使用

    使用他们俩的组合可以找出一个列中的最高值或者最低值

    如:select 列名1 from 表名 order by 列名1 DESC limit 0,1;

    order by位于from字句的后面,如果使用limit,那么它必须位于order by后面

  • 相关阅读:
    Attach Files to Objects 将文件附加到对象
    Provide Several View Variants for End-Users 为最终用户提供多个视图变体
    Audit Object Changes 审核对象更改
    Toggle the WinForms Ribbon Interface 切换 WinForms 功能区界面
    Change Style of Navigation Items 更改导航项的样式
    Apply Grouping to List View Data 将分组应用于列表视图数据
    Choose the WinForms UI Type 选择 WinForms UI 类型
    Filter List Views 筛选器列表视图
    Make a List View Editable 使列表视图可编辑
    Add a Preview to a List View将预览添加到列表视图
  • 原文地址:https://www.cnblogs.com/king2/p/13597431.html
Copyright © 2020-2023  润新知