sql - 具有其他列值的 SQL SUM 函数
问题描述
我是 SQL 新手。我需要所需的输出。
输入
企业名称 | 薪水 |
---|---|
AAA | 1000 |
BBB | 2000 |
输出
企业名称 | 薪水 | 全部的 |
---|---|---|
AAA | 1000 | 3000 |
BBB | 2000 | 3000 |
有人能帮我吗?
谢谢
解决方案
你可以试试这样的
drop table if exists #batch;
go
create table #batch(
empname varchar(10) not null,
salary int not NULL);
insert into #batch(empname, salary) values
('aaa', 1000),
('bbb', 2000);
select *, sum(salary) over (order by (select null)) from #batch;
empname salary TOTAL
aaa 1000 3000
bbb 2000 3000
[编辑] 请注意,在此查询中,ORDER BY 值是可选占位符(按常量或 null 排序不会影响结果)。它可能留空(看起来很奇怪 imo),或者我已经看到一些 SO 答案使用order by (select @@spid)
(这也看起来很奇怪 imo)
推荐阅读
- python - Azure VM gunicorn 上的 Ubuntu 18.04 中的 Django 无法连接到 ('0.0.0.0', 80)
- php - gumtree 像电子邮件通讯系统
- ruby-on-rails - 如何调用 ActiveRecord::Result 上的关联
- swift4 - 尽管有值,但将可选字符串转换为 Int 崩溃
- regex - 外卡匹配
- css - 如何使用 react material-ui 编写媒体相关代码?
- vhdl - 为什么我在第 56-61 行出现错误?
- java - 未找到接口 java.util.List Rest API Spring boot 的主构造函数或默认构造函数
- angular - 如何进一步封装一个表单域组件?
- scala - 超过 memtable_cleanup_threshold 时处理 cassandra 阻塞写入