首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用合计显示第一列中的第二列

如何用合计显示第一列中的第二列
EN

Stack Overflow用户
提问于 2020-07-22 18:17:15
回答 2查看 39关注 0票数 0

我有一张这样的桌子:

代码语言:javascript
复制
Id  ProjectName SubProjectName  Cost
1   Project1    SubProject1 100
2   Project1    SubProject2 60
3   Project2    SubProject3 50
4   Project2    SubProject4 150
5   Project3    SubProject5 200
6   Project4    SubProject6 40

我想要这样的输出:

代码语言:javascript
复制
project1   160
subproject1 100
subproject1 60
project2    200
subproject3 50
subproject4 150
project3    200
subproject5 200
project4    40
subproject6 40
EN

回答 2

Stack Overflow用户

发布于 2020-07-22 18:36:14

您可以使用UNION ALL。例如:

代码语言:javascript
复制
select projectname, sum(cost) from t group by projectname
union all
select subprojectname, cost from t

现在,如果您想要完全相同的顺序,您可以这样做:

代码语言:javascript
复制
select name, cost
from (
  select min(id) as id, 0 as sub, projectname as name, sum(cost) as cost
  from t 
  group by projectname
  union all
  select id, 1, subprojectname, cost from t
) x
order by id, sub
票数 1
EN

Stack Overflow用户

发布于 2020-07-22 18:38:09

在Group by like中尝试汇总

代码语言:javascript
复制
SELECT CASE WHEN SubProjectName is not null THEN SubProjectName ELSE ProjectName END ProjectName ,SUM(cost) cost FROM TblCost
GROUP BY  ROLLUP (ProjectName,SubProjectName)
ORDER BY ProjectName,SubProjectName 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63031954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档