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

mysql的分组group by

文章目录

  • 一、介绍
    • 1、分组查询的内容
    • 2、多字段分组
    • 3、将查询内容连接group_concat
    • 4、有条件的分组查询having


一、介绍

  • 将某个字段的相同值分为一组,分组查询的结果强调的是一个整体,每组内容只显示一行
  • 分组查询的内容一般要查询分组字段,因为要知道是哪个组的信息

1、分组查询的内容

  1. 聚合函数:组内多条记录的统计结果
-- 各个单位的人数
selectdept_id,sum(id)
from t_user
group by dept_id
  1. 查询分组字段:根据某个字段分组,那么查询出来的分组字段也是一样的
-- 查询所有的单位id
selectdept_id
from t_user
group by dept_id
  1. 查询分组字段外的其他字段:取排序后(mysql自然排序)的第一条记录的信息
-- 根据单位id分组,每个单位内会有很多人,分组查询只能展示一条记录,所以会展示mysql自然排序的第一条记录的姓名
selectdept_id,name
from t_user
group by dept_id

2、多字段分组

group by 字段名,字段名......-- 查询每个单位下各个年龄的人数
selectdept_id,age,sum(id)
from t_user
group by dept_id,age

3、将查询内容连接group_concat

-- 默认分隔符逗号
group_concat(column,column......)-- 指定分隔符
group_concat(column separator ';')
  • 返回结果 = varchar

  • 之前的分组结果都是聚合函数的结果:平均数、总和、数量,总之显示结果只会出现一条;group_concat可以将组内多条记录连接起来

  • 单字段

    -- 每个部门的员工的姓名
    selectdept_id,group_concat(name) name
    from student
    group by dept_id-- 结果
    dept_id     name
    1           kimi,sally
    2           tony,jim
    
  • 多字段

    -- 每个部门的员工的姓名、年龄
    selectdept_id,group_concat(name,age) info
    from student
    group by dept_id-- 结果
    dept_id     info
    1           kimi18,sally19
    2           tony20,jim21-- 由于多字段拼接没有字符连接,借助concat_ws()函数
    selectdept_id,group_concat(concat_ws('-',name,age)) info
    from student
    group by dept_id-- 结果
    dept_id     info
    1           kimi-18,sally-19
    2           tony-20,jim-21
    
  • 去重拼接

    - 每个单位员工的年龄
    selectdept_id,group_concat(distinct age) age
    from student
    group by dept_id
    
  • 排序拼接

    - 每个单位员工的年龄,并按照年龄倒序
    selectdept_id,group_concat(age order by age desc) age
    from student
    group by dept_id
    

4、有条件的分组查询having

  • 需要结合group by使用
  • having与where的区别
    • where只能过滤普通字段的条件
    • having可以过滤普通字段的条件,也可以过滤聚合函数的条件
    • 但是一般都是where过滤普通字段,having过滤分组后的聚合条件
-- 单位员工>10人的单位+人数
selectdept_id,count(id)
from t_user
group by dept_id
having count(id)>10

相关文章:

mysql的分组group by

文章目录 一、介绍1、分组查询的内容2、多字段分组3、将查询内容连接group_concat4、有条件的分组查询having 一、介绍 将某个字段的相同值分为一组,分组查询的结果强调的是一个整体,每组内容只显示一行分组查询的内容一般要查询分组字段,因…...

Swoole 介绍以及 编译安装

Swoole是什么? Swoole是一个PHP语言的开源异步网络通信引擎,它是以PHP语言为基础,以C语言编写的扩展。它可以让PHP语言程序拥有异步网络通信能力,并且能够支持高并发、高性能的TCP/UDP/Unix Socket/HTTP服务器。 Swoole的优势 …...

Ubuntu终端指令

目录 目录 一、基本指令 1.命令行提示符 2.切换用户 3.修改密码 4.查看当前目录下的文件 5.修改文件权限---chmod 6.cd 切换路径 7.touch 8.cat 9.echo 10.mkdir 11. rm/rmdir 二、在线下载软件 1.更新软件源 2.更新软件列表 3.下载软件 三、离线安装软件 1. …...

python给json 转实体类加注释的代码实现

1 通过 GsonFormatPlus 生成的实体类 package com.zcl;import java.util.List;public class Test{/*** org_code*/private String org_code;/*** code*/private String code;/*** name*/private NameDTO name;/*** vendorextends*/private VendorextendsDTO vendorextends;/**…...

绘制三角波与梯形波

函数 使用三角函数及反三角函数 在线编辑运行工具 JupyterLite Retro - Notebook 三角波 import numpy as np import matplotlib.pyplot as plt # 创建一个从-2π到2π(包含2π)的等差数列,步长为0.01 x = np.arange(-4*np.pi, 4*np.pi, 0.01) # 计算y值 y = np.…...

【Git】 git push 提示Not possible to fast-forward,无法提交也无法提交程序

目录 一、执行rebase操作 二、取消rebase操作 错误内容 # git push To gitlab.aipark.com:aits/data-intergration.git! [rejected] zjk-prod-20230823 -> zjk-prod-20230823 (fetch first) error: failed to push some refs to gitlab.aipark.com:aits/data-in…...

优思学院|为什么质量工程师在别人看是“救火“的呢?

为什么质量工程师在别人看是‘救火’的呢?现今的质量管理体系已经很成熟,一家公司质量部门会有IQC、IPQC、OQC负责来料、过程质量、成品质量等等,而质量工程师(QE)的工作是要确保这些活动合理和有效,不产生…...

VMware Explore | 联想与VMware扩大合作带来生成式AI和多云解决方案

*带有 VMware Cloud 的全新联想 ThinkSystem 生成式 AI 解决方案,采用 NVIDIA 加速计算和软件,提供专为实现下一代 AI 工作负载而打造的 GPU 密集型平台。 联合创新实验室为商业中端市场和企业提供即用型混合多云解决方案。 全新 Lenovo TruScale Hybr…...

8月份徒弟企业面试后反馈的软件测试面试题(含金量高请收藏)

hello,我是清风。最近很多粉丝私信我要软件测试学习和面试资料,今天来安排一下面试题。我这里从来不缺永远不缺的就是面试提。我个人有几年软件测试面试官经验先不谈,我的徒弟每个月出去面试,我会叫他们录音。面试题都会反馈给我 …...

私有云不是真正的云计算!

大数据产业创新服务媒体 ——聚焦数据 改变商业 中国云计算遇到困境,IaaS层面,阿里云、腾讯云等增长乏力;SaaS没有发展起来。反观美国,整个云计算蓬勃发展,AWS、微软云、谷歌云体量更大,增速却不低&#x…...

netperf 测试时延和吞吐

一、Netperf是一种网络性能测试工具,主要基于TCP或UDP的传输。可以测量TCP和UDP传输的吞吐量、时延、CPU 占用率等性能参数。Netperf测试结果所反映的是一个系统能够以多块的速度向另一个系统发送数据,以及另一个系统能够以多块的速度接收数据。 二、打…...

安卓预制权限添加规则

android:protectionLevel 可以在 android/frameworks/base/core/res/AndroidManifest.xml查询 signature|preinstalled 加在 这个文件里 privapp-permissions-xx.xml dangerous 加在 default-permissions/default-mega-permissions.xml normal 不需要加 不存在两个文件都加…...

D3JS简介

D3JS 什么是D3js D3.js是一个流行的JavaScript数据可视化库,它提供了一系列的API和工具,用于创建交互式的数据图表、地图等可视化效果。以下是一些D3.js的特点和用途: 数据驱动:D3.js基于数据驱动的思想,将数据和视觉…...

系统架构设计师(第二版)学习笔记----系统工程

【原文链接】系统架构设计师(第二版)学习笔记----系统工程 文章目录 一、系统工程方法1.1 系统工程方法的特点1.2 系统工程方法种类1.3 霍尔三维结构的7个阶段1.4 霍尔三维结构的7个步骤1.5 切克兰德方法的7个步骤1.6 并行工程的目标1.7 并行工程强调以下…...

java spring cloud 企业工程管理系统源码+二次开发+定制化服务

鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 1. 项目背景 一、随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管…...

IMX6ULL移植篇-boot 命令的学习

一. boot 命令简介 uboot 的作用是启动 Linux系统。所以 uboot 肯定有相关的 boot(引导)命令来启动 Linux。 常用的与 boot 有关的命令有:bootz、bootm 和 boot。 本文主要学习 boot 命令的使用。 本文接上一篇文章,如下: IMX6ULL移植篇…...

Python字典和集合操作指南:创建、获取值、修改和删除键值对,复制和遍历方法全解析

文章目录 字典(dict)创建字典获取字典中的值修改字典删除字典中的键值对复制字典字典推导式遍历字典使用keys()方法使用values()方法使用items()方法 小结 集合(set)创建集合集合操作集合运算小结 python精品专栏推荐python基础知…...

unity 接收拼接数据进行纹理替换且保存相机纹理到rtsp server(一)

1 rtsp 协议后编码解码 rtsp协议的问题就是,拼接完成后,还需要编码,而unity里面再需要解码,需要的过程多了一步编码再解码,大大加重了 2 rtsp 协议后轻量编码 rtsp协议使用mjpeg进行图片传输。why?这样做…...

视频讲解|3014 含分布式电源的配电网优化重构

目录 1 主要内容 2 讲解视频链接 3 部分程序 1 主要内容 该视频为程序目录中编号1034的讲解内容,该程序的链接为配电网优化重构matlab智能算法,本次重点讲解了基本环矩阵原理以及代码两步实现过程、如何利用基本环向量去创造可行解、粒子群优化过程、…...

分布式、锁、延时任务

1. redission redission 原理 Redis分布式锁-这一篇全了解(Redission实现分布式锁完美方案) 2.zk 2.1 指令 ls / / 下有哪些子节点 get /zookeeper 查看某个子节点内容 create /aa “test” delete /aa set /aa “test01” 2.2 创建节点 模式 默认创建永久 create -e …...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

FastAPI 教程:从入门到实践

FastAPI 是一个现代、快速&#xff08;高性能&#xff09;的 Web 框架&#xff0c;用于构建 API&#xff0c;支持 Python 3.6。它基于标准 Python 类型提示&#xff0c;易于学习且功能强大。以下是一个完整的 FastAPI 入门教程&#xff0c;涵盖从环境搭建到创建并运行一个简单的…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...