MySQL中MAX函数与Group By一起使用的注意事项

  1. mysql> select * from test;
  2. +----+-------+------+-------+
  3. | id | name  | age  | class |
  4. +----+-------+------+-------+
  5. |  1 | qiu   |   22 |     1 |
  6. |  2 | liu   |   42 |     1 |
  7. |  4 | zheng |   20 |     2 |
  8. |  3 | qian  |   20 |     2 |
  9. |  0 | wang  |   11 |     3 |
  10. |  6 | li    |   33 |     3 |
  11. +----+-------+------+-------+
  12. 6 rows in set (0.00 sec)

如果想找到每个class里面的最大的age,则需要使用group by和max。

如下的sql语句,则输出结果有错误:

[sql]  view plain copy
  1. mysql> select id,name,max(age),class from test group by class;
  2. +----+-------+----------+-------+
  3. | id | name  | max(age) | class |
  4. +----+-------+----------+-------+
  5. |  1 | qiu   |       42 |     1 |
  6. |  4 | zheng |       20 |     2 |
  7. |  0 | wang  |       33 |     3 |
  8. +----+-------+----------+-------+
  9. 3 rows in set (0.00 sec)

虽然找到的age是最大的age,但是与之匹配的用户信息却不是真实的信息,而是group by分组后的第一条记录的基本信息。

如果我使用以下的语句进行查找,则可以返回真实的结果。

[sql]  view plain copy
  1. mysql> select * from (
  2. -> select * from test order by age desc) as b
  3. -> group by class;
  4. +----+-------+------+-------+
  5. | id | name  | age  | class |
  6. +----+-------+------+-------+
  7. |  2 | liu   |   42 |     1 |
  8. |  4 | zheng |   20 |     2 |
  9. |  6 | li    |   33 |     3 |
  10. +----+-------+------+-------+
  11. 3 rows in set (0.00 sec)

方法2:

  1. select * from test t where t.age = (select max(age) from test where t.class = class) order by class;

转:MySQL中MAX函数与Group By一起使用的注意事项相关推荐

  1. MySQL中MAX函数如何使用?

    对于MySQL中MAX函数如何使用这个问题,相信很多新手都不是很清楚,因此,为了能够帮助大家解决个难题,今日小杜就来为大家详细的介绍一下,希望大家看完之后有所收获,感兴趣的朋友不仿来看看. 首先,要了 ...

  2. mysql中MAX函数使用注意点

    Mysql中数字类型字段可直接使用MAX()函数, 儿对于其他类型的字段要使用它一下语句: MAX(CAST(name AS nusigned))

  3. mysql输出max函数_MySQL中的max()函数使用教程

    MySQL的max()函数是用来找出一个记录集中的最大值记录. 要了解MAX功能考虑的EMPLOYEE_TBL表具有以下记录: mysql> SELECT * FROM employee_tbl ...

  4. mysql必会语法_sql语法:sql必读必会(二)mysql中的函数大全

    AVG 函数 作用:AVG 函数返回数值列的平均值.NULL 值不包括在计算中 语法:SELECT AVG(列) FROM 表 求id平均值(实在没字段了,就是意思意思) id大于平均值的记录 COU ...

  5. mysql中concat函数的使用相关总结

    concat(str1,str2) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 NULL. mysql> select concat('11','22','33') ...

  6. mysql中合并函数_MYSQL分组合并函数

    MySQL中group_concat函数 完整的语法如下: group_concat([DISTINCT] 要连接的字段 [Order BY ASC/DESC 排序字段] [Separator '分隔 ...

  7. MySQL中concat函数(连接字符串)

    MySQL中concat函数(连接字符串) MySQL中concat函数 使用方法: concat(str1,str2,-) 返回结果为连接参数产生的字符串.如有任何一个参数为NULL ,则返回值为 ...

  8. mysql中group_concat函数_MySQL中group_concat函数

    为什么我要学习该函数,我在做控制页面的权限的时候,没有使用Shiro框架[强烈推荐使用], 为了降低学习成本,暂时给学生过渡的想法,我需要控制到按钮级别的权限,我的想法是通过Jquery对我的页面中的 ...

  9. mysql中week()函数

    mysql中week()函数是用来做周的统计和计算,返回日期的周数 例如统计今年每周有多少个注册用户 SELECT count(id) as count,week(create_time,1) as ...

最新文章

  1. linux 窗口z order,wxPython窗口z-order设置
  2. Skype for Business Server 2015-升级-实战公开课(免费视频)
  3. 自定义带DropDownTable的TextField(事件)
  4. rest和rest ful_还有更多REST技巧
  5. 怎么用php写软件老吴p,11.32 php扩展模块装安
  6. 《天天数学》连载33:二月二日
  7. python中合法的二进制整数_python:求整数的二进制表示
  8. 5.1 内存模型基础
  9. 核磁谱图分析步骤_微谱技术:想要涂料开发,少不了仪器分析……
  10. log4j配置文件中的变量
  11. linux中括号命令,Linux中的括号用法
  12. U盘无法打开的解决方法大全
  13. [DAX] IF函数
  14. UE4 Mixamo使用教程
  15. Windows软件推荐
  16. 事件冒泡详解及阻止事件冒泡
  17. 绕过tp路由器管理密码_怎么用手机设置路由器?TPlink无线路由器安装设置方法...
  18. 4.16 使用可选颜色命令调整图像色彩 [原创Ps教程]
  19. <Zhuuu_ZZ>那些年我们踩过的Hadoop HA的坑--高可用集群
  20. 实战项目!用PHP实现的编程论坛网站

热门文章

  1. Vue项目中加载图片的坑
  2. 安卓端小黄鸟抓包保姆级教程(附带全套工具,完美解决无网络和ROOT问题)
  3. python二维列表创建与循环嵌套赋值
  4. PHP输出乘法口诀表
  5. 手机批发业务—产品选购
  6. redis主从同步策略
  7. 奇安信2023HVV面试笔记
  8. excel 宏命令 VB 选择字段名相同的多行数据,复制到另一sheet
  9. python加法运算符可以用来连接字符串并生成新字符串_加法运算符可以用来连接字符串并生成新字符串。...
  10. 伤害世界怎么自建服务器,伤害世界(Hurtworld)最便捷开服架设服务器攻略 伤害世界怎么开私服...