`
windforce
  • 浏览: 80306 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

列 'b_col' 在选择列表中无效,因为该列未包含在聚合函数中,并且没有 GROUP BY 子句

阅读更多
select sum(a_col) ,sum(b_col) from abc_table 就出了上面的错误,google后很多人说
指定 GROUP BY 时,选择列表中任一非聚合表达式内的所有列都应包含在 GROUP BY 列表中,或者 GROUP BY 表达式必须与选择列表表达式完全匹配。
就是说要 select sum(a_col) ,sum(b_col) from abc_table group by a_col。

select sum(a_col) ,sum(b_col) from abc_table
union
select sum(a_col) ,sum(b_col) from abc_table 又是正常的。


风之力 2007-07-26 17:53 发表评论
分享到:
评论

相关推荐

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

    `GROUP_CONCAT` 是 MySQL 中一个非常实用的聚合函数,主要用于将来自同一分组的多个值连接成一个字符串。这一功能在许多场景下都非常有用,例如汇总数据、创建列表等。 #### 二、基本语法与用法 `GROUP_CONCAT` 的...

    sql字符处理函数大全

    这意味着,如果在GROUP BY子句中使用CUBE,SQL将返回所有列组合的汇总,包括每个单独的列,每一对列的组合,直至所有列的组合,以及没有任何列的汇总(即所有数据的总和)。 例如,下面的查询使用CUBE来获取所有...

    解决MySQL 5.7.9版本sql_mode=only_full_group_by问题

    在MySQL 5.7.9版本中,引入了一个新的...当使用GROUP BY语句时,如果你的SELECT列表中包含不在GROUP BY子句中的非聚合列,且这些列与GROUP BY子句中的列没有函数依赖关系,MySQL会抛出错误,如以下示例所示: ```sql ...

    Sequelize中用group by进行分组聚合查询

    在SQL中,分组查询是通过`GROUP BY`子句来实现的,它可以将数据按照一个或多个列的值进行分组,通常结合聚合函数一起使用,以便对每个分组执行计算。 1. SQL中的分组查询 在SQL中,使用`GROUP BY`语句进行分组操作...

    数据库行列转换算法

    Oracle数据库提供了多种方法来实现这种转换,本篇将详细介绍如何在Oracle中进行行列转换,包括列转行、行转列以及各种复杂场景下的转换。 1. 列转行 列转行主要是将数据库表中的多列数据转换为多行数据。在Oracle...

    oracle函数介绍(6) 著名函数之分析函数.doc

    在聚合函数中,它们通常与GROUP BY结合使用;在分析函数中,它们可以对每个分组的排序结果获取第一或最后一个值。 5. FIRST_VALUE (col) OVER ( analytic_clause ) 此函数返回根据analytic_clause定义的范围内的第...

    MySQL常用聚合函数详解

    这些聚合函数在SQL查询中结合`GROUP BY`子句一起使用时尤其强大,允许你根据一个或多个列的值对数据进行分组,然后对每个组应用聚合操作。例如,如果你有一个`orders`表,你可以按`customer_id`分组并计算每个客户的...

    oracle行列转换总结

    本文将深入探讨Oracle中实现行列转换的几种方法,包括使用`UNION ALL`、`MODEL`子句以及集合类型(`collections`),并提供具体的示例来帮助理解。 ### 1. 使用`UNION ALL`进行行列转换 `UNION ALL`是一种简单直接的...

    数据库的查询-分组.ppt

    它可以对 GROUP BY 子句后的数据进行筛选,并且可以使用聚合函数。 语法格式: HAVING where_definition 例如,以下查询语句可以查找 XSCJ 数据库中平均成绩在 85 分以上的学生的学号和平均成绩。 SELECT 学号, ...

    Oracle 行列转换总结

    - 其中`MAX`函数可以替换为`SUM`、`MIN`、`AVG`等其他聚合函数。 #### 四、小结 以上介绍了几种常用的行列转换方法,包括使用`UNION ALL`、`MODEL`子句以及`AGGREGATE FUNCTION`等方式。这些方法各有优缺点,在...

    行列转换总结.pdf

    在这个例子中,`MAX` 函数用于选择每个分组中特定列的最大值。需要注意的是,如果目标列中有重复的值,那么使用 `MAX` 或者 `MIN` 等函数可能会导致数据丢失。 ### 四、其他行列转换 除了上述两种基本的行列转换...

    Mysql的GROUP_CONCAT()函数使用方法

    MySQL中的GROUP_CONCAT()函数是一个非常实用的聚合函数,它允许你在分组查询时将同一组内的多个值合并成一个字符串。此函数主要用于数据分析和报表生成,尤其在处理多对多关系的数据时,能简化数据处理流程。在本文...

    MySQL拼接字符串函数GROUP_CONCAT详解

    MySQL中的GROUP_CONCAT函数是一个非常实用的聚合函数,主要用于在分组查询中将同一组内的多个值合并为一个字符串,通常用于数据汇总和报告。它能够处理非NULL值,并且可以进行排序、去重和自定义分隔符,极大地提高...

    SQL中窗口函数的使用

    在SQL语句的执行顺序中,它位于`FROM/JOIN`、`WHERE`、`GROUP BY`、`聚合函数`、`HAVING`之后,`SELECT`、`DISTINCT`、`UNION`等操作之前。 5. **PARTITION BY** 使用`PARTITION BY`可以将数据分割成不同的分区,...

    Oracle行列转换_总结

    - **操作原理**: 使用 `MAX` 函数(或其他聚合函数)结合 `DECODE` 函数来选择特定的行数据。 - **示例**: ```sql SELECT id, MAX(DECODE(cn, 'c1', cv, NULL)) AS c1, MAX(DECODE(cn, 'c2', cv, NULL)) AS c2...

    mysql语法.pdf

    MySQL还提供了一系列聚合函数,包括SUM、AVG、COUNT、MAX和MIN等,这些函数通常与GROUP BY一起使用,以进行数据的统计分析。例如,“SELECT MAX(salary) FROM employees;”将返回员工表中最高的薪资。 除了基本的...

    部分普通sql查询在hive中的实现方式

    - **背景**:在Hive中,对于单个`GROUP BY`子句下包含多个`COUNT(DISTINCT)`的情况,Hive只能支持其中一个`COUNT(DISTINCT)`。 - **示例**:下面的查询是可以在Hive中正确执行的: ```sql SELECT pv_users....

    wxh Oracle数据库删除重复记录的方法

    另一种方法是使用聚合函数MAX或MIN,结合子查询来删除重复记录。例如: ```sql delete from tbl a where rowid not in ( select max(b.rowid) from tbl b where a.col1 = b.col1 and a.col2 = b.col2 ); ``` 这会...

    mysql数据库基础知识

    - `GROUP BY`子句则用于将结果集按照一个或多个列进行分组,以便进行聚合函数(如SUM、AVG等)的计算。 - `HAVING`子句用于过滤`GROUP BY`后的结果集,类似于`WHERE`子句,但它应用于聚合数据上。 ##### 6. 布尔值...

Global site tag (gtag.js) - Google Analytics