前言

相信小伙伴写sql语句时,如果用到了group by分组后,那么其他未分组的 字段一定会用聚合函数,不然的话sql就会报错,下面就来看下为什么要这么使用

一、聚合函数是什么?

聚合函数:对一组值执行计算并返回单一的值。除 COUNT 以外,聚合函数忽略空值,如果COUNT函数的应用对象是一个确定列名,并且该列存在空值,此时COUNT仍会忽略空值。
意思就是说,使用聚合函数时,给它传入多个值,而它把这些值通过计算给你返回唯一的一个。

二、为什么使用了group by后用需要用聚合函数

因为group by是用来分组的,比如在一个user表中,有id、name、number三个字段

id name number
1 张三 123
2 张三 456
3 李四 789
4 王五 159

那么此时根据name分组后的结果便是:

id name number
1、2 张三 123、456
3 李四 789
4 王五 159

这个时候便会发现id、和number被放在了同一列上,而相同名字的name被放到了同一列上。如果这个时候你再使用select语句时候肯定会报呀,毕竟一个列里面只能有一个值。所以这时我们就需要对id、number字段使用聚合函数。那么得到的结果就是只要一个值了,查询起来才不会报错。

使用group by后为什么要用聚合含函数相关推荐

  1. es 聚合分页(group by后分页)

    es 实现sql的 group by后如何分页? 先放json解释,再放纯净版方便copy {"query": {...... //搜索条件},"aggs": ...

  2. 一.oracle的SQL中group by使用的情况(与聚合函数的关系)

    SELECT r.industry_1,r.industry_2,r.agent_id,r.agent_name, COUNT(DISTINCT r.customer_name_a)数据总量, COU ...

  3. group by后乱序问题原因和解决

    目录 group by后乱序问题原因和解决 1.解决方案 1.1 放到集合内排序 1.2 在分组内排序后在分组求和 2.问题经历和原因 3.用到的表和数据 group by后乱序问题原因和解决 1.解 ...

  4. sql group by 后取最后一条数据

    sql group by 后取最后一条数据 ##方法一 SELECT* FROMtable1 AS a,( SELECT * FROM table1 GROUP BY id ORDER BY id D ...

  5. 关于mysql group by后取指定的数据留下来

    假设有一张表tb_question_reply(答题记录表)拥有以下字段 id.user_id.paper_id.question_id.user_answer.answer_status(答题情况, ...

  6. quvhu重复行MySQL,利用mysql中的SQL_CALC_FOUND_ROWS 来实现group by后的记录数统计

    最近正在做一个显示消息的列表页,列表页中需要根据一个字段来分组显示.并且需要一个分页的效果. 大家也知道group by 后的数据是每一组一行记录,统计分组后的总的记录数又不能用count,所以SQL ...

  7. postgresql报错:必须出现在 GROUP BY 子句中或者在聚合函数中使用

    报错信息:Cause: org.postgresql.util.PSQLException: 错误: 字段 "s.re_scan_dt" 必须出现在 GROUP BY 子句中或者在 ...

  8. 一.关于实现浏览器弹窗提示内容几秒后自动消失重定向执行其他函数的两种方法

    一.关于实现浏览器弹窗提示内容几秒后自动消失重定向执行其他函数的两种方法 第一种方法–向body动态写入div标签调用css效果显示: (新建***.jsp放在WebContent根目录下直接访问ip ...

  9. 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年 问题。 写一个函数days,实现上述计算。由主函数将年、月、日传递给days函数,计算后将 日子数传回主函数输出

    /*定义一个结构体变量(包括年.月.日).计算该日在本年中是第几天,注意闰年 问题. 写一个函数days,实现上述计算.由主函数将年.月.日传递给days函数,计算后将 日子数传回主函数输出*/#in ...

最新文章

  1. python获取数据库用户名密码_在数据库中存储用户和密码
  2. python 列表筛选数据
  3. linux程序员的proc文件系统
  4. android使组件居中,Android图文居中显示控件使用方法详解
  5. sqlserver文件转mysql_怎样将Sqlserver数据库转成mysql数据库
  6. 关于@Import注解的几个问题
  7. 【Python3网络爬虫开发实战】3.4-抓取猫眼电影排行
  8. C++之操作符重载探究(三):输出操作符重载
  9. zookeper安装_zookeeper安装单机模式
  10. 史丹·温斯坦称傲牛熊市的秘密
  11. 兄弟们,请求支援,怎么实现互通,全部都互通的
  12. 支持x86/aarch/mips/loongarch的jogamp-2.3.2源码开源
  13. Oracle数据库的安装及使用教程
  14. JS获取本机IP地址的方法
  15. 英国外交部翻译教你实用口语课,让你飚出一口地道、流利英语
  16. 【100+ python基础入门-42】Python函数参数的六种类型
  17. ROS远程连接Turtlebot3并进行简单的移动控制
  18. MySQL 5.7 基于 GTID 的主从复制实践
  19. nginx resin mysql_Nginx整合Resin
  20. 用C++实现的高性能WEB服务器

热门文章

  1. 100个网站推广方法
  2. Jmeter性能测试环境安装
  3. windows系统重装后重新使用之前的oracle
  4. HTML--BOM window对象(实例:放大镜)
  5. 服务端JAVA执行js_[Java][Js]利用Rhino在服务器端执行JavaScript
  6. 什么是数字化?为什么需要数字化?数字化的未来?
  7. 共享自行车租赁管理系统单车-JAVA.JSP【数据库设计、论文、源码、开题报告】
  8. 安卓搭建局域网服务器KSWEB--序列号
  9. 产品卖点和目标人群如何匹配
  10. 李开复认为人类没有赢德扑人工智能的可能