我有一个emp具有以下结构和数据的表:

name   dept    salary

-----  -----   -----

Jack   a       2

Jill   a       1

Tom    b       2

Fred   b       1

当我执行以下SQL:

SELECT * FROM emp GROUP BY dept

我得到以下结果:

name   dept    salary

-----  -----   -----

Jill   a       1

Fred   b       1

服务器是基于什么决定决定返回吉尔和弗雷德,并排除杰克和汤姆?

我在MySQL中运行此查询。

注意1:我知道查询本身没有任何意义。我正在尝试调试“ GROUP BY”方案的问题。我试图了解用于此目的的默认行为。

注2:我习惯于编写与GROUP BY子句相同的SELECT子句(减去聚合字段)。当我遇到上述行为时,我开始怀疑我是否可以在以下情况下依赖此行为:从emp表中选择薪水在部门中最低/最高的行。例如:这样的SQL语句可在MySQL上运行:

SELECT A.*, MIN(A.salary) AS min_salary FROM emp AS A GROUP BY A.dept

我找不到任何描述这种SQL为何起作用的材料,更重要的是,如果我能够始终如一地依靠这种行为的话。如果这是可靠的行为,那么我可以避免类似以下的查询:

SELECT A.* FROM emp AS A WHERE A.salary = (

SELECT MAX(B.salary) FROM emp B WHERE B.dept = A.dept)

mysql聚合函数不存在的数据_SELECT子句中不存在聚合函数时的GROUP BY行为相关推荐

  1. R语言使用haven包的read_spss函数读取spss格式数据、使用haven包的read_sas函数读取SAS格式数据、使用haven包的read_dta函数读取Stata格式数据

    R语言使用haven包的read_spss函数读取spss格式数据.使用haven包的read_sas函数读取SAS格式数据.使用haven包的read_dta函数读取Stata格式数据 目录

  2. C语言试题五十二之学生的记录由学号和成绩组称个,n名大学生得数据已在主函数中放入结构体数组a中,请编写函数fun,它的功能时:按分数的高低排列学生的记录,高分在前。

    1. 题目 请编写一个函数void function(Student a[], int n),其功能时:学生的记录由学号和成绩组称个,n名大学生得数据已在主函数中放入结构体数组a中,请编写函数fun, ...

  3. C语言:定义一个函数max_min,求一组数据的最大值和最小值. 在主函数中输入n和n个数据,调用max_min函数求出最大最小值,然后在主函数中输出这n个数的最大值和最小值。(要求使用指针做)

    [问题描述]定义一个函数max_min,求一组数据的最大值和最小值. 在主函数中输入n和n个数据,调用max_min函数求出最大最小值,然后在主函数中输出这n个数的最大值和最小值.(要求使用指针做) ...

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

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

  5. SQL中where子句中不能出现聚合函数的原因

    首先我们应该熟悉什么聚合函数: 例如SUM(),MIN(),Max()这类的,我们称作是聚合函数. 那么我们不能在where子句中使用这些函数,为什么呢? 聚集函数也叫列函数,它们都是基于整列数据进行 ...

  6. android中调用fft函数,J使用PCM数据在Android中转换FFT(JTransforms FFT in Android from PCM data)...

    J使用PCM数据在Android中转换FFT(JTransforms FFT in Android from PCM data) 我一直在玩这个游戏已经有一段时间了,我无法弄清楚我在这里要做的事情. ...

  7. length函数的头文件_Framebuffer 应用编程中涉及的 API 函数

    本节程序的目的是:打开 LCD 设备节点,获取分辨率等参数,映射 Framebuffer,最后实现描点函数. 5.2.1 open 函数 在 Ubuntu 中执行"man 2 open&qu ...

  8. python函数isdisjoint方法_Python学习之---Python中的内置函数(方法)(更新中。。。)...

    add(item)#将item添加到s中,如果item已经在s中,则无任何效果 break#退出循环,不会再运行循环中余下的代码 bool()#将参数转换为布尔型 bytes()#将值转成bytes类 ...

  9. excel函数:汉字转全拼_30天中30个Excel函数:01 –精确

    excel函数:汉字转全拼 Welcome to the Contextures 30 Excel Functions in 30 Days (30XL30D) challenge. Thanks f ...

最新文章

  1. [Linux]history 显示命令执行的时间
  2. 博客园出现了奇怪的cookie问题
  3. java 下载excel xlsx_JAVA Excel.xlsx 上传于下载
  4. c语言复数的运算实验报告,C语言复数的运算(实验报告).doc
  5. 一文彻底读懂优秀开源产品MyBatis一级缓存设计!
  6. 对齐输出(信息学奥赛一本通-T1003)
  7. linux分区概念理解,在linux安装中的分区概念(转)
  8. Uva_11427 Expect the Expected
  9. lanswich交换机远程TELNET登录
  10. 用echarts绘制饼图---绘制南丁格尔玫瑰图
  11. 简约html5动态个人简历,HTML5 简约风格的程序员简历模板
  12. html设置字体为小型大写字母,css – 启用小型大写字母
  13. 用之前使用正常的keil工程调试程序时,一直卡在 0x00000000 的解决方案
  14. 详解:分治算法【Java实现】——汉诺塔问题
  15. vi/vim的一些干货命令及快捷键(跳转最后一行,跳转行末等)~舒服!!!
  16. nova7可以升级成鸿蒙20系统,华为nova7升级到EMUI11,8大功能提升,带来更新体验...
  17. 结构体字节对齐详解【含实例】
  18. uefl计算机mbr分区方案,免重装系统 手把手教你MBR转GPT分区表-电脑教程
  19. 2021高考枣强中学成绩查询,枣强中学,衡水系的重点高中,成绩斐然
  20. 汉语言文学专业c学校,自考汉语言文学专业哪个学校好?

热门文章

  1. [置顶] Objective-C,/,ios,/iphone开发基础:分类(category,又称类别)
  2. elasticsearch批量修改,批量更新某个字段
  3. 虚拟机模拟WIN2008创建域控制器与故障转移群集
  4. NOIP2009 潜伏者
  5. Memcached原理深度分析详解
  6. 暂无,进程那篇深度不够
  7. WEB程序员需要掌握的十大MySQL优化技巧
  8. feng作品推荐あかね色に染まる坂 染成茜色的坂道 (含下载、攻略)
  9. 数据库分页存储过程(4)
  10. Redis和Memcached,干货来一波