select * from Test
union
select 5, '合计' , SUM(C) , SUM(D) from Test
其中:先把表中的所有数据查询出来,然后按照表的结构,select 主键列,'合计',SUM(C),SUM(D) from 数据表 使用SQL的数学函数 动态添加一行数据,最后使用 union 关键字 连接两次查询的结果。
具体看你什么数据库了,还有你字段1,字段2,字段3哪个字段是字符类型的。
比如字段3是字符类型:
oracle写法:
SELECT 字段1,字段2,字段3 FROM 打印数据表 where 打印时间>='2018-09-01' AND 打印时间<'2018-09-19'union all
select null,null,'合计:'||count(*) from 打印数据表 where 打印时间>='2018-09-01' AND 打印时间<'2018-09-19'
mysql写法:
SELECT 字段1,字段2,字段3 FROM 打印数据表 where 打印时间>='2018-09-01' AND 打印时间<'2018-09-19'union all
select null,null,concat('合计:',(cast(count(*) as varchar) from 打印数据表 where 打印时间>='2018-09-01' AND 打印时间<'2018-09-19'
sqlserver写法:
SELECT 字段1,字段2,字段3 FROM 打印数据表 where 打印时间>='2018-09-01' AND 打印时间<'2018-09-19'union all
select null,null,'合计:'+(cast(count(*) as varchar) from 打印数据表 where 打印时间>='2018-09-01' AND 打印时间<'2018-09-19'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)