我是这样实现的,select goods_name,max(shop_price) from goods;然后报错如下

查询原因才知道,

这个错误发生在mysql 5.7.5 和以后上,因为5.7.5默认的sql模式配置是

ONLY_FULL_GROUP_BY,

这个配置启用的是 “严格ANSIsql 规则”,严格ANSI sql 规则要求在group by的时候,没有聚合的列,在group by的时候,必须全部包含在group by 的字段中。

没有聚合的列,指的是没有使用 max, min, count, sum....这些函数的列,直接查询出字段的列。

如果不是aggregate 的列,必须要全部包含在集合里面。aggregate 的列,指的大概就是不能聚合的列,没有用函数的列,比如说 avg, sum, count 这些函数的列。用了这些函数的列,可以不包含

也就是说select了没有使用max,min,count,sum这个函数的列而报错。

所以我们可以规定下

改变下sql模式,但是这样查询出来的数据是错的。

我们的数据的最大价格的商品是

kd876知识第一条数据,所以我们获取价格最大的商品的名称,还是利用排序,然后limit 1

select goods_name,shop_price from goods order by shop_price desc limit 1;

其实max和group by有个主意事项就是https://blog.csdn.net/john_hongming/article/details/42742965

上边连接的出错情况知识,在select了没有使用聚合函数才会出错,如果不用不会出错。

mysql中查询一个商品价格最大的商品名称的sql出错记录相关推荐

  1. mysql中查询一个字段属于哪一个数据库中的哪一个表的方式

    mysql中查询一个字段具体是属于哪一个数据库的那一张表:用这条语句就能查询出来,其中 table_schema 是所在库, table_name 是所在表 --mysql中查询某一个字段名属于哪一个 ...

  2. mysql中对一个表的id建立了唯一索引,那么查询的select count(*) ,select count(1) ,select count(id),select count(列名)

    1.mysql中对一个表的id建立了唯一索引,那么查询的select count(*) ,select count(1) ,select count(id),select count(列名) 的查询结 ...

  3. Mysql中查询速度的优化

    2019独角兽企业重金招聘Python工程师标准>>> mysql中查询速度的优化 1.查看每一个表的数据量 2.left join的时候尽量减少表的大小,通过临时表,查询条件去限制 ...

  4. mysql中查询缓存优化以及慢查询

    1. 概述 开启Mysql的查询缓存,当执行完全相同的SQL语句的时候,服务器就会直接从缓存中读取结果,当数据被修改,之前的缓存会失效,修改比较频繁的表不适合做查询缓存 2. 操作流程 1.客户端发送 ...

  5. Mysql中查询连续一段时间内统计数据

    Mysql中查询连续一段时间内统计数据 在一次生产环境中遇到统计当前日期的前10天每天的订单量,一开始想到的就是根据日期进行分组统计,但在查询的时候会存在一个问题:有可能某一天没有订单交易,日期分组中 ...

  6. mysql 查找小写字母_MYSQL数据库MySQL中查询的有关英文字母大小写问题的分析

    <MYSQL数据库MySQL中查询的有关英文字母大小写问题的分析>要点: 本文介绍了MYSQL数据库MySQL中查询的有关英文字母大小写问题的分析,希望对您有用.如果有疑问,可以联系我们. ...

  7. MySQL中查询时对字母大小写的区分

    我相信很多人在mysql中查询时都遇到过mysql不区分字母大小写的情况:如以下例子: 1.SELECT * FROM `user` WHERE userpass = 'Z20'; 结果为: 2.SE ...

  8. MySql中把一个表的数据插入到另一个表中的实现代码--转

    MySql中把一个表的数据插入到另一个表中的实现代码 司的一个项目,做报表--要关联的表结构比较多,最后决定把要用的数据集合到一张新表中,需要用到以下的sql语法......分享下: web开发中,我 ...

  9. 如何在海量数据中查询一个值是否存在?

    一般面试中考察的题目通常是由三类组成的,基础面试题.进阶面试题.开放性面试题,而本文的题目则属于一个开放性的面试题,但对于 Redis 这种以数据为核心的缓存中间件来说,实现在海量数据中查询一个值是否 ...

最新文章

  1. 【JOURNAL】恭喜发财
  2. Zabbix 3.0 从入门到精通(zabbix使用详解)
  3. 内存泄漏的定位与排查:Heap Profiling 原理解析
  4. android 换肤之style,android换肤总结
  5. linux全局变量=多个值,linux errno全局变量各值含义
  6. window.open打开一个新空白页面,不会自动刷新【解决方案】
  7. Linux / openwrt / Ubuntu 18.04 虚拟机中的 openwrt 如何联网
  8. 使用SpringBoot Admin监控SpringCloud微服务
  9. 轻松使用make menuconfig达到内核的升级!
  10. html双翼布局,第19题 CSS如何实现双飞翼布局?
  11. python能做人机界面吗_人机交互程序 python实现人机对话
  12. CCAI 2017 | 小数据学习对人工智能究竟有着怎样的影响?
  13. Linux命令使用练习二
  14. 机载激光雷达原理与应用科普(一)
  15. DSP的cmd文件详解
  16. 智能电视主流的CPU有三家。一个是Mstar(晨星),另两个是MTK和Amlogic(晶晨)
  17. 出现 Unexpected token T in JSON at position 0 ,at JSON.parse (<anonymous>) 的解决方法
  18. android 微信授权获取用户个人信息
  19. 【Android-Kotlin】匿名内部类与Lambda 表达式(附RecycleView监听)
  20. 斐波那契数列_菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。

热门文章

  1. matlab做混频,基于MATLAB的混频测试
  2. docker 安装 shipyard(中文版) 集群管理平台
  3. 只要7步,任何魔方6面都能还原!留着教孩子
  4. 技术经理成长复盘-激励
  5. Docer学习(一)
  6. 钟平逻辑英语语法_关于钟平的逻辑英语
  7. Zotero 5.0 + 坚果云同步盘 + papership 配置教程
  8. ubuntu 改屏幕分辨率命令_ubuntu 修改分辨率为自定义分辨率
  9. java制作手机投射电脑_将Android手机投影到Win10计算机的最简单教程
  10. edge打开pdf不显示印章_win10 Edge浏览器打不开pdf文件的解决方法