在SQL中的子查询中使用group by

木兰

如何解决这个错误:

无法在GROUP BY子句的GROUP BY列表中使用的表达式中使用聚合或子查询。

这是我的查询:

select Id, name,dayA,monthA,yearA, 
    sum(x) as x,
    (select SUM(x) group by month) as total,
    from table_A
    group by Id,name,monthA,dAyA,yearA, SUM(x)

换句话说:样本数据:

id name dayA monthA yearA  x
===========================
1  name1  2    3     2016   4
2  name2  2    3     2016   3
3  name1  2    3     2016   2      

预期结果 :

id name dayA monthA yearA  x total
===================================
1  name1  2     3     2016  4  6
2  name2  2     3     2016  3  3 
3  name1  2     3     2016  2  6

提前致谢

重庆

您查询的问题更多。

(select SUM(x) group by month) as total,是否来自同一张表,不太可能,因为列月份未在您的分组依据中提及。在查询中使用子查询时,必须保证我只会返回一条记录。

根据您的样本数据和预期结果...

     create table table_A(
id int,
name varchar(25),
dayA int,
monthA int,
yearA int,
x int
)

insert into table_A
values (1,'name1',2,3,2016,4),
        (2,'name2',2,3,2016,3),
        (2,'name1',2,3,2016,2)


select ta.id, ta.name, ta.dayA, ta.monthA, ta.yearA, ta.x, total.Total  from table_A as ta
left join 
(select name, sum(x) as Total from table_A group by name) total on ta.name = total.name
group by
ta.id, ta.name, ta.dayA, ta.monthA, ta.yearA, ta.x, total.name, total.Total

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

您如何在子查询中使用group by / having子句?

来自分类Dev

子查询T-SQL中的GROUP BY

来自分类Dev

子查询中的SQL Group By语句

来自分类Dev

需要了解如何在SQL查询中使用`GROUP BY`

来自分类Dev

如何在子查询中使用主查询中的列?

来自分类Dev

在子查询中使用查询中的列

来自分类Dev

在SQL Server中使用GROUP BY中的Quarter

来自分类Dev

在同一SQL查询中使用WHERE,HAVING和GROUP BY

来自分类Dev

在SQL查询中使用带有Union子句的group / order by

来自分类Dev

如何在按子句SQL Server 2005中使用子查询

来自分类Dev

子查询T-SQL中的GROUP BY

来自分类Dev

在子查询(MS SQL)中使用WITH

来自分类Dev

使用GROUP BY的子查询中的MySQL COUNT

来自分类Dev

子查询返回了1个以上的值。在SQL Server 2012中使用where子句

来自分类Dev

SQL-使用GROUP BY获取子查询子集中或联接中的最新记录

来自分类Dev

在pl / sql中使用子查询块

来自分类Dev

SQL Group by子查询被忽略

来自分类Dev

在查询中使用子查询

来自分类Dev

SQLAlchemy:在子查询中使用外部查询中的列

来自分类Dev

MySQL中使用GROUP BY的子查询非常慢

来自分类Dev

在SQL中的子查询中使用group by

来自分类Dev

如何在子查询中使用超级查询中的值?

来自分类Dev

在具有JOIN的查询中使用GROUP BY SQL函数

来自分类Dev

在SQL Server分组中使用子查询

来自分类Dev

如何在子查询中使用多个 sum 和 group by?

来自分类Dev

在子查询Mysql中使用group concat的结果

来自分类Dev

如何在SQL中使用子查询?

来自分类Dev

在 Postgres SQL 中使用子查询

来自分类Dev

为什么在 SQL 连接语句中使用 Group By 而在子查询中使用 Order By?

Related 相关文章

热门标签

归档