mysql sql 写法
怎么使结果集增加一列,是sum(countName)的值
参考下述代码即可
select number,countName, id,sum(a.countName) as cn from (
SELECT
number,
count( NAME ) AS countName,sum( id ) as id
FROM
test
WHERE
adress ='1
GROUP BY number
) a
SELECT number,
count(NAME) AS countName,
sum(id) as id,
sum(count(NAME)) as sumCountName
FROM test
WHERE adress = '1'
GROUP BY number
该回答引用ChatGPT
请参考下面的方法
SELECT number,
count(NAME) AS countName,
sum(id) as id,
sum(countName) as sumCountName
FROM test
WHERE adress = '1'
GROUP BY number
sql查出来会是多条数据,但是那个sum只会是一个字段值
建议查询结果后,再包一层就可以了
1、如果是MySQL5.7,可以使用with rollup来统计,不过这个是增加一个统计行,而不是列,硬要增加一列,需要用到8.0新增的窗口函数或@变量
SELECT COALESCE( number, '合计' ) , count( name ) AS countName, sum( id ) AS id
FROM test
WHERE adress = '1'
GROUP BY number
WITH ROLLUP;
题主快来看一下
with a as (select number,count(name) as countname,sum(id) as id from test where adress='1' group by number),
b as (select sum(countname) sumcountname from a)
select * from a,b;
不知道你这个问题是否已经解决, 如果还没有解决的话: