在使用group by进行查询结果分组的时候,报错:

1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'goodsinfo.item.amount' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by

报错原因以及解决方法:

这里的mysql的sql模式采用了全模式匹配,也就是sql_mode=only_full_group_by,出现了依赖冲突。也就是说select后面的字段,除了聚合函数,都必须出现在group by 的后面。因为你是要利用某个字段进行分组,那么该字段就存在于select 后面。除了聚合函数select 后面的字段都应该要出现在group by 后面。

#执行以下sql语句以上错误
SELECT item.amount "订单数量",MONTH(d.order_date) orderDate FROM `order` d INNER JOIN orderitem item ON d.order_id=item.order_id GROUP BY d.order_date;
#如果要实现按照月分组,统计每个月的订单数量,应该使用这个sql语句
SELECT MONTH(d.order_date) "月份",COUNT(item.amount) "订单数量" FROM `order` d INNER JOIN orderitem item ON d.order_id=item.order_id GROUP BY MONTH(d.order_date) ORDER BY MONTH(d.order_date);

where,group by后面关于是否能够接聚合函数的问题

  • where 子句后面是不能够接聚合函数的。聚合函数有sum(),count(),avg(),max(),min(),等等其他函数。
  • group by 子句后面接的是要分组的列,**having ** 设置分组条件,这个having子句后面是可以接聚合函数的。

group by问题的更多相关文章

  1. LINQ Group By操作

    在上篇文章 .NET应用程序与数据库交互的若干问题 这篇文章中,讨论了一个计算热门商圈的问题,现在在这里扩展一下,假设我们需要从两张表中统计出热门商圈,这两张表内容如下: 上表是所有政区,商圈中的餐饮 ...

  2. Kafka消费组(consumer group)

    一直以来都想写一点关于kafka consumer的东西,特别是关于新版consumer的中文资料很少.最近Kafka社区邮件组已经在讨论是否应该正式使用新版本consumer替换老版本,笔者也觉得时 ...

  3. LINQ to SQL语句(6)之Group By/Having

    适用场景:分组数据,为我们查找数据缩小范围. 说明:分配并返回对传入参数进行分组操作后的可枚举对象.分组:延迟 1.简单形式: var q = from p in db.Products group ...

  4. 学习笔记 MYSQL报错注入(count()、rand()、group by)

    首先看下常见的攻击载荷,如下: select count(*),(floor(rand(0)*2))x from table group by x; 然后对于攻击载荷进行解释, floor(rand( ...

  5. [备查]使用 SPQuery 查询 "Person or Group" 字段

    原文地址:http://www.stum.de/2008/02/06/querying-the-person-or-group-field-using-spquery/ Querying the “P ...

  6. order by 与 group by 区别

    order by 排序查询.asc升序.desc降序 示例: select * from 学生表 order by 年龄 ---查询学生表信息.按年龄的升序(默认.可缺省.从低到高)排列显示 也可以多 ...

  7. Group by

    分组语句必须和聚合函数在一起使用, group by子句负责将数据分成逻辑组,聚合函数对每一组进行统计计算 group by 必须放到 select 语句后面,如果select语句中有where子句, ...

  8. Oracle学习笔记五 SQL命令(三):Group by、排序、连接查询、子查询、分页

    GROUP BY和HAVING子句 GROUP BY子句 用于将信息划分为更小的组每一组行返回针对该组的单个结果 --统计每个部门的人数: Select count(*) from emp group ...

  9. [LeetCode] Group Shifted Strings 群组偏移字符串

    Given a string, we can "shift" each of its letter to its successive letter, for example: & ...

  10. sql 单个字段去重查询 distinc 和 group by的效率问题

    sql 查询 distinc用法 distinct 和group by都需要排序,一样的结果集从执行计划的成本代价来看差距不大,但group by 还涉及到统计,所以应该需要准备工作.所以单纯从等价结 ...

随机推荐

  1. pandas mean 返回 inf

    In [12]: np.finfo(np.float16).max Out[12]: 65500.0 In [15]: df['a']=np.array([656]*100) In [16]: df[ ...

  2. kotlin 冷知识 *号 展开数组

    Kotlin笔记-冷门知识点星号(*) 2019年05月10日 11:37:00 weixin_33724059 阅读数 6   可变参数展开操作符 在数组对象前加*号可以将数组展开,方便传值,比如: ...

  3. Zookeeper(一)客户端

    Zookeeper-客户端 例子: // org.apache.zookeeper.ZooKeeperMain public class ZooKeeperMain { public static v ...

  4. SSH上传文件出现error

    如上图,因为我在SSH上的用户没有对Linux服务器的文件夹的修改权限,我在linux上把文件夹的权限改为可读可改,就可以了

  5. DS博客大作业--树

    1.树的存储结构说明 树节点结构体 data:文件名 brother:兄弟节点 child:孩子节点 type:节点的类型,0为文件,1为目录 h:节点所在的层次 2.树的函数说明 头文件 函数1:C ...

  6. 百度地图api服务端根据经纬度得到地址

    package com.haiyisoft.cAssistant.mapApi; import java.io.BufferedReader;import java.io.IOException;im ...

  7. ControlTemplate in WPF —— DatePicker

    <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" x ...

  8. python的一些方法

    1.如何循环获得下标,使用 enumerate ints = ['a','b','c','d','e','f'] for idx, val in enumerate(ints): print idx, ...

  9. unity拖尾粒子问题

    拖尾粒子有一个问题就是当设置父物体时候,拖动父物体,就没有拖尾效果了 此时只需设置Emitter Velocity的类型为 transform 就行了 还有一种设置simulation space类型 ...

  10. LeetCode.1037-有效的回旋镖(Valid Boomerang)

    这是小川的第387次更新,第416篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第248题(顺位题号是1037).回旋镖是一组各不相同且不在一条直线上的三个点.给出三个点 ...