美文网首页
mysql ORDER BY与GROUP BY的用法?@2021

mysql ORDER BY与GROUP BY的用法?@2021

作者: 鹰郡少年鹏 | 来源:发表于2021-12-19 19:48 被阅读0次

    在查一组数据的时候报错提示GROUP BY,于是查了一下,GROUP BY与ORDER BY的区别?
    GROUP BY使用某个字段去重
    SELECT * 字段名1 FROM 表名 GROUP BY 字段名2;
    ORDER BY使用某个字段排序,默认从大到小
    SELECT * 字段名1 FROM 表名 ORDER BY 字段名2。

    创建test databases table

    1、groupby使用方法---对选择的列去除重复的项

    eg:目前salary有几种情况?

    select * from test group by salary;
    

    2、orderby使用方法 -- 对选择的列进行排序

    eg:对age从大到小排序

    select * from test order by age desc;
    

    eg:对name进行排序

    select * from test order by name desc; 这样得到的并非是我们想要的结果


    因为name的类型是varchar,不是数字类型,对于这种既有字符也有数字的情况怎么进行排序?

    可以利用字符替换,获取后面的number进行排序:select *,replac(name,'person','') as t from test order by t+0 desc;


    3、orderby与groupby混合使用

    eg:如果想获取不同salary最新name的信息

    select * from test group by salary;
    

    并不是我们想要的信息,+ orderby name不影响筛选出来的结果,因为order by 是对上面结果进行排序,不能做到先排序后group

    针对与我们想要先order再group的思想:select * from (select * from test order by id desc)as test1 group by salary


    相关文章

      网友评论

          本文标题:mysql ORDER BY与GROUP BY的用法?@2021

          本文链接:https://www.haomeiwen.com/subject/wnvofrtx.html