sql-server - Sql Server - 在第一条记录下方显示第二条记录以及其他数据
问题描述
我有一个包含以下数据的 sql 表:
Id department Amount
1 Accounting 10000
2 Catering 5000
3 Cleaning 5000
我想返回如下数据:
Id department Amount
1 Accounting 10000
1 50%
2 Catering 5000
2 25%
3 Cleaning 5000
3 25%
这意味着每条记录在其下方返回第二条记录并显示总量的百分比。我尝试使用 PIVOT 表,但我仍然无法将第二行定位在第一个相关表的下方。
有没有人做过类似的事情我只需要一些指导。
解决方案
create table #T(Id int, Dept varchar(10),Amount int)
insert into #T
values(1,'Accounting',10000),(2,'Catering',5000),(3,'Cleaning',5000)
declare @Totll float = (Select sum(Amount) from #T)
Select *
from #T
union
select Id,Convert(varchar(50), (Amount/@Totll)*100)+'%',0
from #T
order by Id,Amount desc
推荐阅读
- laravel - Laravel - 使用单行信息填充视图(使用数据透视表)
- css - 子元素内的 CSS Flexbox 图像缩放
- r - R(下标) 逻辑下标太长
- google-apps-script - Apps 脚本发送旧的反馈页面,但电子邮件中的新反馈
- c# - 如何在 MVC 5 中获取带有部分视图的弹出窗口
- elasticsearch - elasticsearch中数组子字段的平均值
- java - 投影聚合
- serial-port - pl2303“错误发送中断”是什么意思?
- javascript - Chrome 扩展调试器未定义
- c# - 使用事件处理程序将 excel 文件接收到 datagridview Visual Studio