关于mysql的小杨同学-11.20

11.18
MySQL关于group by;count;distinct与order by 的使用

记录杨同学工作时对MySQL的使用以及自学过程
备注:mysql不区分大小写,但是鉴于规范性关键字部分最好用大写!
以下部分是小写哈哈哈哈哈

group by

group by 顾名思义组合,用xx来分组

  1. 项目组的要求:按照地区来分出供应商数量(不重复个数);供应商的数量;供应产品的种类;

  2. 拆分条件
    条件一:按照地区分组 那就是group by 地区名字
    条件二:不重复个数,那就采用distinct(供应商数量);同时要的是个数,那就是用count计数,最终这一小块就为 count(distinct 供应商数量)
    条件三:按照地区的升序排列

  3. 合并所有条件
    SELECT company_region,
    COUNT(distinct project_name ),
    COUNT(project_name),
    COUNT(distinct company)
    FROM 园林汇总
    GROUP BY company_region
    ORDER BY company_region ASC;
    结果如下ASCWEISHENGXU
    4.order by+你想要按照什么来排序
    ASC为升序 DESC为降序 在数据库中默认为升序,所以大可不必多打三个英文字母,毕竟时间就是金钱,三个字母的钱也要珍惜!!
    今日疑问:
    升序为什么不是安徽在第一个?
    今日做答:
    是因为mysql是UTF-8
    其中一个中文字符占3个字节,一个数字或英文占1个字符
    转化为gbk编码
    convert(company_region USING gbk)
    如下
    SELECT company_region,
    COUNT(distinct project_name ),
    COUNT(project_name),
    COUNT(distinct company)
    FROM 11.20-园林汇总
    GROUP BY company_region
    ORDER BY
    CONVERT(company_region USING gbk)
    ;
    在这里插入图片描述
    今天的小杨又是很棒的一天!
    ps:只是记录自己学习的过程,别来上纲上线奥,否则小心顺着你的网线咬死你!

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值