使用没有GROUP BY
子句的HAVING
的SQL查询可以使用子查询重写。一个简单的例子如下:
select A.a_id, sum(B.b_count) Bsum
from A
left join B on A.a_id = B.a_id
group by A.a_id
select A.a_id,
(
select sum(b.b_count) Bsum
from B
where A.a_id = B.a_id
)
from A
如果不能做到,你能举个例子吗?我的意思是,使用GROUP BY
后面的子查询无法重写没有HAVING
的{{1}} SQL查询?
答案 0 :(得分:1)
我认为,如果你想在同一个表中按值聚合和分组,那将很困难。
select A.a_id, sum(B.b_count) Bsum
from A
left join B on A.a_id = B.a_id
group by A.a_id, b.otherVal