社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  DATABASE

关于mysql的小杨同学-11.20

Auraro_y • 4 年前 • 258 次点击  

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:只是记录自己学习的过程,别来上纲上线奥,否则小心顺着你的网线咬死你!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/99152
 
258 次点击