当前位置: 首页 > news >正文

关于mysql的初步学习 (四)

 继续深入学习下 group by的使用:

  它的语法是

    select

            column_name1,column_name2,。。。,function(column_name)

     from

            table_name

     where

            column_name operator valuue

    group by

           column_name1,column_name2,。。。

   

   比如说:求一个班上的男女各多少人,并且有哪些人,上面的就都用得着:

    select 性别,group_concat(人名),count(人名) from 表 group by sex;

    如下图所示一样:

     select count(*),CarTypeID,group_concat(LicencePlate)from carinfotb_common  group by CarTypeID;

                   

     我是这么想的:

  1、Group by按照某一个column_name分组 ,那么 查询的列就肯定会包含这个column_name,function函数可以是某一个column_name 也可以是 “*”。但是要注意区别:

                                  count(*)对行的数目进行计算,包含NULL
                                  count(column)对特定的列的值具有的行数进行计算,不包含NULL值。
                                  count()还有一种使用方式,count(1)这个用法和count(*)的结果是一样的。

   2、 函数可以包含 count,sum,avg等这些数值运算。

                                     

   3、也可使用group_concat(column_name,。。。)函数,他可以把你分组里面所查的column_name值以‘,’连接起来,得到一个字符串。

   4、也可以使用order by 进行排序。

select count(*),CarTypeID,group_concat(LicencePlate)from carinfotb_common group by CarTypeID ORDER BY COUNT(*) DESC;

       

   5、也可以使用 where 和having查询筛选数据

                  select count(*),CarTypeID,group_concat(LicencePlate)from carinfotb_common WHERE CarTypeID !='' group by CarTypeID ORDER BY COUNT(*) DESC;

  • where 子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,where条件中不能包含聚组函数,使用where条件过滤出特定的行。
  • having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having 条件过滤出特定的组,也可以使用多个分组标准进行分组。

               select count(*),CarTypeID,group_concat(LicencePlate)from carinfotb_common WHERE CarTypeID !='' group by CarTypeID having count(*) > 10 ORDER BY COUNT(*) DESC;

   6、group by 可以是多个column_name 。那分组的条件是多个column_name之间的彼此联系。

 

 关键是搞起需求的意图,弄清楚分组的列,运用好函数。  参考文章:http://blog.csdn.net/xxpyeippx/article/details/8059910写的更详细。运用了多个列分组。 

详细的数据查询结果不是很清晰

 

转载于:https://www.cnblogs.com/doui/p/6775254.html

相关文章:

  • Nested loops、Hash join、Sort merge join(三种连接类型原理、使用要点)
  • GridView中字符串太长处理方式
  • Squid.conf配置文件详解
  • CCF NOI1034 钞票兑换
  • Oracle11_g R2安装配置及PL/SQL Developer安装配置
  • ASP.NET 无权访问所请求的资源。请考虑对 ASP.NET 请求标识授予访问此资源的权限。...
  • 从零到一:用Phaser.js写意地开发小游戏(Chapter 3 - 加载游戏资源)
  • 《SolidWorks 2017中文版机械设计从入门到精通)》——第1章 认识SolidWorks1.1 SolidWorks概述...
  • 《数据科学与大数据分析——数据的发现 分析 可视化与表示》一2.4 第3阶段:模型规划...
  • 《网页美工设计Photoshop+Flash+Dreamweaver从入门到精通》——1.2 网页美工常用工具...
  • 《Pig编程指南》一2.2 运行Pig
  • 《大数据管理概论》一第2章‖大数据融合2.1 引言
  • 重磅启动!翻译斯坦福大学课程:深度学习与自然语言处理
  • 《Android传感器开发与智能设备案例实战》——第2章,第2.2节安装JDK
  • Machine Learning in Action -- Support Vector Machines
  • 网络传输文件的问题
  • 自己简单写的 事件订阅机制
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • CSS实用技巧干货
  • ES学习笔记(12)--Symbol
  • passportjs 源码分析
  • 等保2.0 | 几维安全发布等保检测、等保加固专版 加速企业等保合规
  • 浮现式设计
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 基于HAProxy的高性能缓存服务器nuster
  • 利用jquery编写加法运算验证码
  • 正则与JS中的正则
  • 第二十章:异步和文件I/O.(二十三)
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #{}和${}的区别?
  • #Spring-boot高级
  • #在 README.md 中生成项目目录结构
  • (03)光刻——半导体电路的绘制
  • (04)Hive的相关概念——order by 、sort by、distribute by 、cluster by
  • (1)bark-ml
  • (6)设计一个TimeMap
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (windows2012共享文件夹和防火墙设置
  • (初研) Sentence-embedding fine-tune notebook
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • (转)linux下的时间函数使用
  • (转)Sublime Text3配置Lua运行环境
  • .NET 3.0 Framework已经被添加到WindowUpdate
  • .NET 8.0 发布到 IIS
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET Remoting Basic(10)-创建不同宿主的客户端与服务器端
  • .net 验证控件和javaScript的冲突问题
  • .NET6 命令行启动及发布单个Exe文件
  • .NET成年了,然后呢?
  • .net开发时的诡异问题,button的onclick事件无效
  • .Net转前端开发-启航篇,如何定制博客园主题
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复