zoukankan      html  css  js  c++  java
  • 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后面

  • 相关阅读:
    windows下误修改了环境变量path怎么办
    mysql 常见问题
    初入博客园
    卷积神经网络的“卷积”操作不等于数学上定义的卷积操作
    无需循环合并list里的所有numpy.array
    将进程绑定在CPU上运行
    categorical_crossentropy和sparse_categorical_crossentropy的区别:实例讲解
    RNN神经网络层的输出格式和形状
    Batch Normalization和Layer Normalization的区别
    AttributeError: module 'tensorflow_core._api.v2.config' has no attribute 'list_physical_devices'
  • 原文地址:https://www.cnblogs.com/king2/p/13597431.html
Copyright © 2011-2022 走看看