如果索引列不同,则对一列的值求和?

2024-02-06

当索引列不同时,如何对一列中的值求和?

最初,我有这样的 SQL 查询:

SELECT COALESCE(SUM(ISNULL(cast(Quantity as int),0)),0) AS QuantitySum FROM Records

也尝试这样做,但是当某些数量值碰巧相同时,这是不正确的:

SELECT COALESCE(SUM(DISTINCT ISNULL(cast(Quantity as int),0)),0) AS QuantitySum FROM Records

如何修复此查询以仅对按索引值区分的记录数量求和?

表格示例:

Index    Quantity
AN121    40
AN121    40
BN222    120
BN111    20
BN2333   40

所以..我想返回220

我有重复的 ID,但不同记录的数量可能相同


你的意思是你只想对一个值求和quantity对于索引列的每个单独值?

select sum(case when row_number() over (partition by `index` order by newid()) = 1
                then cast(Quantity as int)
           end) as QuantitySum
from Records;

或者,您的意思是您只想对以下值求和quantity当恰好有一行具有给定值时index value:

select sum(case when count(*) over (partition by `index`) = 1
                then cast(Quantity as int)
           end) as QuantitySum
from Records;

这两者都使用窗口函数来限制正在处理的值。

另外,还有一个名为quantity应存储为数字类型,因此不需要转换即可求和。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果索引列不同,则对一列的值求和? 的相关文章

  • SQL 连接池和审核登录/注销

    当我使用 SQL Server Profiler 分析我的应用程序时 我看到很多审核登录 and 审核注销连接到同一数据库的消息 我想知道 这是否表明我的连接池有问题 我之所以问这个问题 是因为我在 MSDN 文档中找到了有关连接池的内容
  • 用户表到用户和用户首选项。这是正常化了吗?

    我有一张桌子叫Users其偏好列表不断增加 这些首选项可以包括 ReligionId 它将连接到另一个包含宗教列表的表 偏好列表正在不断增加 我想把它分开Users表分成2个表 我认为行之有效的策略是制作一个单独的表 名为UserPrefe
  • 使用 unnest() 返回行?

    我尝试在完成后返回一组行UPDATE 像这样的东西 UPDATE Notis new noti SET notis noti record type FROM SELECT FROM Notis WHERE user id 2 FOR UP
  • 如何在 ssis 包 2016 中捕获毫秒时间戳

    如何在 ssis 包 2016 中捕获当前时间戳 我声明了一个变量并使用表达式 但缺少毫秒 currenttimestamp DT WSTR 50 DT DBTIMESTAMP System StartTime 我也想要毫秒 Thanks
  • 我需要使用 VBA 将数据从 Excel 插入 SQL Server

    我需要插入test vba xlsx将数据写入 SQL Server 到特定数据库 Sub insertion Dim conn As ADODB Connection Dim rs As ADODB Recordset Dim sConn
  • SQL Server xp_delete_file 参数

    谁能解释一下清单xp Delete filesql server 中的参数 我没有找到此存储过程的 msdn 文档 我从维护计划中获取了 xp Delete file 脚本 但不理解第一个参数 xp delete file取五个参数 文件类
  • DB2 vs PostgreSQL vs SQL Server [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有人用过这三个数据库吗 你和他们有什么经历 PostgreSQL 对于一个项目来说看起来相当诱人 但我很想了解更多关于它的信息 我们是一家 NE
  • SQL Server批量上传策略

    我使用以下函数将数据从 CSV 上传到 SQL 表 有更好的方法吗 我现在担心连接长时间保持 因此需要减少 public bool SaveProxyBulkUploadData List
  • 如何在 NHibernate 中使用 READPAST 提示?

    有什么办法可以让 NHibernate 使用吗the READPAST hint https learn microsoft com en us sql t sql queries hints transact sql table从 SQL
  • Web SQL 将数据插入多行

    我尝试在 Web SQL 数据库中一次将变量插入多行 但使用我所知的所有方法时 我收到错误 INSERT INTO tab a b VALUES v1 v2 v3 v4 gt gt could not prepare statement 1
  • SQL Server 中临时表的使用

    这是一个悬而未决的问题 但我真的很想听听人们的意见 我很少使用显式声明的临时表 表变量或常规 tmp 表 因为我相信不这样做会导致更简洁 可读和可调试的 T SQL 我还认为 在需要时 例如当您在查询中使用派生表时 SQL 可以比我更好地利
  • Laravel 总结雄辩集

    如何对已预先加载的数据集求和 这是我的表结构 regions table Field Type Null Key Default Extra id int 10 unsigned NO PRI NULL
  • android-security :Google Play 警告:您的应用程序包含 SQL 注入问题

    作为我们应用程序的一部分 我们使用两个 contentProvider 但两者都受到 android exported false 的保护 但我们仍然收到一封 Google Play 警告邮件 您的应用程序包含 SQL 注入问题 他们提到的
  • 如何复制身份列中的数据?

    我有一张桌子identity列在一台服务器中 并且在另一台服务器中有一个具有相同结构的其他表 现在我想将所有数据从一个表复制到另一个表 但我无能为力 我已经创建了一个链接服务器 我用这个 insert into server databas
  • Bool类型返回规则

    我使用 dapper ORM 所以我使用两个规则Query
  • T-SQL 将集合分组到单个列中,没有 NULL 重复项

    一个同义词库数据库 其中术语和类别相互链接并运行 SQL Server 2008 基于this https stackoverflow com questions 4301074 t sql select combine multiple
  • 如何在 SQL 中引用自定义字段

    我正在使用 mssql 但在使用子查询时遇到问题 真正的查询相当复杂 但其结构与此相同 select customerName customerId select count from Purchases where Purchases c
  • 根据同一 select 语句中先前计算的行(或列)计算新行(或列)

    我正在尝试根据年度销售增长预期来计算年度预期销售量 在一张表中 我有实际销量 create table Sales ProductId int Year int GrowthRate float insert into Sales valu
  • SQL - 每个级别都有记录的递归树层次结构

    尝试使用 SAS 据我所知 不支持WITH RECURSIVE 在 SQL 中创建经典的层次结构树 这是现有表中的简化数据结构 USER ID SUPERVISOR ID 因此 要构建层次结构 您只需递归连接 x 次即可获取您要查找的数据
  • 查找至少有 2 名员工的部门

    我需要做sql问题将显示至少有 2 人的所有部门 SELECT department name FROM department INNER JOIN employee ON department id employee department

随机推荐

  • 如何使用 VBA 在 Excel 文档中循环浏览超链接

    我有一份大约的清单 Excel 中的一列中有 160 个超链接 我正在尝试从每个单独的链接中提取数据 为了导航到特定页面 例如https www oddschecker com golf canadian open winner bet h
  • 在 xamarin 表单上预加载页面

    我正在寻找让我的 Xamarin Forms 应用程序更快的技巧 我遇到了这个article https newbedev com slow startup of xamarin app 好吧 我已经尝试了一些选项 但我发现很难实现最后一个
  • 在 Node.js 中的 mongoose 用户上使用 _.omit

    我有一个像这样构建的猫鼬用户模式 var UserSchema new Schema username type String required true index unique true password type String req
  • 并行化 std::nth_element 和 std::partition

    我正在移植使用的 C 代码std nth element and std partition到 OpenCL nth element http www cplusplus com reference algorithm nth elemen
  • .NET 如何以及何时实际编译代码?

    假设您使用 C VB 或任何 NET 编写应用程序 当你点击构建时 它真的会编译你的代码吗 我是这么认为的 直到我开始在我的一些程序集上使用 redgates 反射器并逐字查看我的代码 我本来期望展开循环并进行大量优化 但什么也没有 那么编
  • 无法在 iPhone 应用程序中通过 Oauth 2.0 获取 google+ 的访问令牌

    我正在尝试在 iPhone 应用程序中使用 Oauth 2 0 访问 Google API 为此 我使用 OauthConsumer 库 我获得了未经授权的 request token 和授权码 但无法使用授权码将该 request tok
  • 我怎样才能取消 Future.delayed 函数调用

    我怎样才能取消 Future delayed 我正在使用 Future delayed 来执行某些任务 但是如果我想取消这个延迟的任务 那么他们的任何方法或任何其他要使用的东西也是如此 Future delayed Duration sec
  • 将密钥和 SSL 证书导入 java 密钥库

    我有 pem 格式的证书文件和私钥文件 是否可以使用 Java 代码和 JDK 附带的默认库 而不是第三方库 将这些文件加载 到 Java 密钥库中 当我尝试谷歌搜索时 我只能找到 der 格式的文件以使用 java 代码导入到 java
  • Python 异常传播

    我正在构建一个工具 当异常向上传播时 有关异常上下文的新数据将添加到异常中 问题是 当异常到达顶层时 所有额外的上下文数据都在那里 但只显示最新的堆栈跟踪 有没有一种简单的方法可以让异常显示抛出异常的原始堆栈跟踪而不是最后一个堆栈跟踪 或者
  • 无法在导入请求时从“集合”导入名称“映射”[重复]

    这个问题在这里已经有答案了 Python版本 Python 3 10 4 画中画版本 pip 22 0 4 所以我试图用套接字制作一个小项目 我添加了一个上传文件的功能 但是每当我导入请求时 它都会抛出此错误 下面是我运行的代码 Trace
  • USB 控制传输能否保证交付?

    USB 2 0 指定 http www usb org developers docs usb20 docs 4 种传输类型 第 5 4 节传输类型 控制转移 同步传输 中断传输 批量转账 第 5 8 节规定批量转账提供 在带宽可用的基础上
  • 如何将数据从一种表单发送到另一个类的函数

    我知道如何将数据从一种表单传递到另一种表单 但如何将数据从一种表单传递到类 这是我想要传递的数据form1上课问题 string GrpID somevalue string DurationID somevalue 我搜索过但没有得到确切
  • Android java 设置图像资源

    我对此有很大的了解 if num1 getText equals 0 num1 setText 1 ImageView hpdown1 ImageView findViewById R id hair hpdown1 setImageRes
  • 通过代码使用 NHibernate 映射:当 IDENTITY_INSERT 设置为 OFF 时,无法在表“DietUser”中插入标识列的显式值

    我花了一段时间才找到这个问题的答案 所以我想分享这份爱 当通过 SQL Server 代码使用 NHibernate 的新映射时 我无法保存实体 保存实体时 会引发 System Data SqlClient SqlException 并显
  • 我们应该在 C++ 中使用 exit 吗?

    根据C 参考 exit正常终止进程 执行常规清理 用于终止程序 正常的程序终止执行以下操作 以相同的顺序 与当前线程关联并具有线程存储的对象 持续时间被破坏 仅限 C 11 具有静态存储的对象 持续时间被破坏 C 并且使用 atexit 注
  • 如何更改 pine 脚本中函数的全局变量?

    我正在尝试编写一个脚本来获得 9 个级别的江恩平方 我已经用其他语言完成了它 但无法理解此处的 pine 脚本 它说无法修改函数中的全局变量 有什么解决方案可以获取这里的值是我的脚本 version 4 study title Volume
  • Xcode 5.1 破坏了一些测试

    自从更新到 Xcode 5 1 以来 我在尝试运行单元测试 XCTestSuite 时遇到了错误 当我运行单独的测试方法时 出现错误Error while reading test scope bundle在控制台上没有结果 当我运行测试文
  • 如何在整个组织内共享数据

    组织在多个部门和应用程序之间共享关键数据有哪些好方法 举个例子 假设有一个主要应用程序和数据库来管理客户数据 组织中还有十个其他应用程序和数据库读取该数据并将其与自己的数据关联起来 目前 这种数据共享是通过数据库 DB 链接 物化视图 触发
  • 如何以最有效的方式将图像转换为字符串?

    我想将图像文件转换为字符串 以下作品 MemoryStream ms new MemoryStream Image1 Save ms ImageFormat Jpeg byte picture ms ToArray string formm
  • 如果索引列不同,则对一列的值求和?

    当索引列不同时 如何对一列中的值求和 最初 我有这样的 SQL 查询 SELECT COALESCE SUM ISNULL cast Quantity as int 0 0 AS QuantitySum FROM Records 也尝试这样