`
xiaotian_ls
  • 浏览: 304300 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

使用GROUP BY子句的规则

    博客分类:
  • SQL
 
阅读更多
使用 GROUP BY 子句时,一定要记住下面的规则:
1.  不能 GROUP BY text、image 或 bit 数据类型的列
2.  SELECT 列表中指定的每一列也必须出现在 GROUP BY 子句中,除非这列是用于聚合函数。
3.  不能 GROUP BY 列的别名。 这是说 GROUP BY 字段列表中的所有字段必须是实际存在于 FROM 子句中指定的表中的列。
4.  进行分组前可以使用 WHERE 子句消除不满足条件的行。
5.  使用 GROUP BY 子句返回的组没有特定的顺序。可以使用 ORDER BY 子句指定想要的排序次序。
分享到:
评论

相关推荐

    SQL语言中GROUP BY子句的应用剖析.pdf

    通过对GROUP BY子句的执行过程分析,阐述了使用GROUP BY子句对数据进行分组的意义,并进一步剖析了分组过程中如何确定分组标志、数据的筛选、聚组函数的计算及实现记录定位等问题。 1. 分组的意义 分组是指将数据...

    group by后使用rollup子句总结

    「GROUP BY 与 ROLLUP 子句的使用」 `GROUP BY` 语句是 SQL 中一种常用的语句,用来对查询结果进行分组并进行聚合操作。但是,如果我们想要对分组结果进行汇总统计时,使用 `ROLLUP` 子句可以实现这一功能。 ...

    ORA-00979 不是group by 表达式

    标题 "ORA-00979 不是group by 表达式" 提及的是一个在使用SQL查询时常见的错误,通常出现在尝试执行聚合操作(如COUNT、SUM、AVG等)而没有正确指定GROUP BY子句的情况下。在SQL中,当你在SELECT语句中包含非聚合...

    简单讲解sql语句中的group by的使用方法

    - 一旦使用了`GROUP BY`,在`SELECT`列表中未包含在聚合函数内的非分组列必须在`GROUP BY`子句中指定。 - 不能在`WHERE`子句中使用聚合函数,因为`WHERE`是在分组前操作的,而聚合函数需要在分组后使用。如果需要...

    group by的详解

    1. **分组规则**:在选择列表中出现的任何非聚合列或表达式都必须包含在`GROUP BY`子句中。例如,`p.name`列在选择列表中,因此它也在`GROUP BY`中出现。 2. **别名的使用**:在`GROUP BY`子句中,不能直接使用选择...

    Oracle中分组查询group by用法规则详解

    4. **ORDER BY子句**: 结果的排序可以通过`ORDER BY`子句完成,它应放在`GROUP BY`之后。排序列必须是`SELECT`列表中的列或聚合函数,不能引用未在`SELECT`或`GROUP BY`中出现的列。 5. **多列分组**: 可以使用...

    MySQL无GROUP BY直接HAVING返回空的问题分析

    MySQL在使用HAVING子句时规定,HAVING必须配合GROUP BY子句使用,因此在没有GROUP BY子句的情况下使用HAVING子句是不符合SQL标准的。但MySQL为了灵活处理某些特殊场景,会自动将没有GROUP BY子句的SQL语句重写,增加...

    on与where、group by的用法

    - **ORDER BY子句**:`ORDER BY`子句用于对结果集进行排序,可以是升序(ASC)或降序(DESC)。 ```sql SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name ORDER BY COUNT(*) DESC; ``` 此...

    数据库内测版.doc

    在SQL的SELECT语句中,如果使用了聚合函数如SUM、AVG等,就不能使用GROUP BY子句对不含聚合函数的列进行分组。建立索引能够显著提升查询速度,保证数据的唯一性,并且有助于减少查询中的排序和分组时间,从而提高...

    分组查询GROUP BY的使用与SQL执行顺序的讲解

    在使用GROUP BY时,通常还会结合ORDER BY子句对结果进行排序。这是因为GROUP BY本身并不保证输出结果的顺序,而ORDER BY确保了数据按照特定列的值进行排序。 SQL SELECT语句的执行顺序是这样的: 1. FROM子句组合...

    MySQL优化GROUP BY方案

    1. **GROUP BY子句不满足最左前缀规则**,但WHERE子句有范围条件,使得MySQL仅需读取部分索引。 2. **WHERE子句有等于常量的等式,即使GROUP BY子句中没有该常量**。 示例: ```sql SELECT c1, c2, c3 FROM t1 ...

    Mysql中错误使用SQL语句Groupby被兼容的情况

    按照标准SQL规范,当你在`SELECT`子句中选择非聚合列时,这些列必须出现在`GROUP BY`子句中,或者它们必须与聚合函数一起使用,以确保每个分组内的数据是唯一的。例如: ```sql SELECT a, b, COUNT(*) FROM table_...

    MySQL中使用group by 是总是出现1055的错误(推荐)

    在MySQL中,`GROUP BY` 语句用于对数据进行分组,并且通常与聚合函数(如 `COUNT`, `SUM`, `AVG`, `MAX`, `MIN`)一起使用,以便对一组数据进行统计计算。然而,当你在执行 `GROUP BY` 查询时遇到错误 1055,这通常...

    oracle分组函数(ppt文档).ppt

    分组函数也可以与 GROUP BY 子句一起使用,以对查询结果进行分组。例如: ```sql SELECT department_id, AVG(salary) FROM employees GROUP BY department_id; ``` 在 GROUP BY 子句中,可以使用多个列进行分组。...

    Mysql升级到5.7后遇到的group by查询问题解决

    this is incompatible with sql_mode=only_full_group_by" 表明查询中的非聚合列(如`news.id`)未包含在`GROUP BY`子句中,这违反了`ONLY_FULL_GROUP_BY`模式的规定。 为了解决这个问题,有几种策略: 1. **修改...

    【GROUP_CONCAT】使用之MySQL官方文档翻译

    可以通过 `ORDER BY` 子句来指定排序规则。默认情况下,`GROUP_CONCAT` 使用升序排序,但可以通过添加 `DESC` 关键词改为降序排序。 4. **分隔符** 默认情况下,`GROUP_CONCAT` 使用逗号作为分隔符。但是,可以...

Global site tag (gtag.js) - Google Analytics