在 MS-SQL 中将行数据分组并求和到列中?

2023-12-10

原始问题

我不知道我是否应该提出一个新问题或取消标记最后一个问题! 所以,我想做的是:

WorkWeek  Catg  Item    Cost
WorkWeek1 Cat1  Item1   Price
WorkWeek1 Cat1  Item2   Price
WorkWeek1 Cat2  Item3   Price
WorkWeek1 Cat3  Item4   Price
WorkWeek1 Cat3  Item1   Price
WorkWeek2 Cat1  Item1   Price
WorkWeek2 Cat2  Item2   Price
WorkWeek3 Cat1  Item1   Price
WorkWeek4 Cat1  Item2   Price
.
.
WorkWeekA CatB  ItemC   Price

我想创建一个新表,列出每个工作周,然后列出该工作周中每个类别的价格总计。这就是我现在正在做的事情,但是查询只是将每个 ww 的所有内容相加,为所有工作周提供相同的总和:

select
    workweek
    ,(select sum(cost) from DataTable where Catg = 'Cat1') as Cat1TotalCost
    ,(select sum(cost) from DataTable where Catg = 'Cat2') as Cat2TotalCost
    ,(select sum(cost) from DataTable where Catg = 'Cat3') as Cat3TotalCost
    .
    .
    .
    .
from DataTable
group by Workweek

您还可以像这样进行枢轴操作:

select workweek,
       sum(case when Catg = 'Cat1' then cost end) as Cat1TotalCost,
       sum(case when Catg = 'Cat2' then cost end) as Cat2TotalCost,
       sum(case when Catg = 'Cat3' then cost end) as Cat3TotalCost
from DataTable
group by Workweek

您不应该为每个值执行单独的子查询。

The pivot声明也是一个非常合理的选择。我倾向于坚持使用显式版本(上面),因为它让我在添加列时更加灵活。

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

在 MS-SQL 中将行数据分组并求和到列中? 的相关文章

  • 如何避免使用 Cursor 来实现此伪代码 - SQL Server

    CREATE PROCEDURE p processDataFor accountId BEGIN for each item in select from Accounts where accountId accountId and is
  • 在 MySQL 中对整数字段运行带引号的数字(字符串)查询时会发生哪些复杂情况

    在 SQL 中 不应引用整数 因为如果引用 它将是一个字符串 但我很好奇如果我这样做会出现什么问题 并发症 例如 SELECT FROM table WHERE id 1 正确的 vs SELECT FROM table WHERE id
  • PL/pgSQL SELECT 到数组中

    这是我的函数声明和主体的一部分 CREATE OR REPLACE FUNCTION access update RETURNS void AS DECLARE team ids bigint BEGIN SELECT INTO team
  • Sql Server 2008 NVARCHAR 长度-1

    如果长度为 1 这意味着什么 这是我的 tbl 结构 Name nvarchar no 1 正如 JNK 在评论中指出的那样 这意味着MAX Name NVARCHAR MAX 来自MSDN http msdn microsoft com
  • 有没有办法阻止 SQL Express 2008 空闲?

    我使用 SQL Express 2008 作为 Web 应用程序的后端 问题是 Web 应用程序是在工作时间使用的 因此有时在午餐或休息时间 如果 20 分钟内没有用户登录 SQL Express 将进入空闲状态模式并释放其缓存 我知道这一
  • 只获取倒数第二条记录 - mysql-query

    我有一个如下表记录 my table id rating description 1 0 0 bed 2 1 0 good 3 0 0 bed 4 1 0 good 5 0 0 bed 6 0 0 bed 7 0 0 bed 现在我通过评级
  • PostgreSQL 中“-”处或附近的语法错误

    我正在尝试运行查询来更新用户密码 alter user dell sys with password Pass 133 但因为 它给了我这样的错误 ERROR syntax error at or near LINE 1 alter use
  • SQL 查询用于计算每个客户的订单数量和总金额

    我有两张桌子Order与列 OrderID OrderDate CID EmployeeID And OrderItem与列 OrderID ItemID Quantity SalePrice 我需要返回客户 ID CID 每个客户的订单数
  • Postgresql 一张表的多个计数

    我想从表中的两列中获得这些列中值的统一计数 例如 两列是 表 报告 type place one home two school three work four cafe five friends six mall one work one
  • 通过 osql.exe 运行脚本时出现问题

    我尝试以这种格式运行我的软件的更新脚本 osql exe i path to script U 用户 P 密码 S sqlserver 位置 d 数据库名称 n b 大多数脚本的格式相同 并且都以 GO 结尾 其中很多都运行得很好 但随机脚
  • 加密数据库字段的好方法?

    我被要求加密数据库中的各种数据库字段 问题是这些字段在读取后需要解密 我在用着Django and SQL Server 2005 有什么好主意吗 See 在 SQL Server 2005 数据库中使用对称加密 https web arc
  • 检查两个“select”是否相等

    有没有办法检查两个 非平凡的 选择是否等效 最初我希望两个选择之间有形式上的等价 但是答案在证明 sql 查询等价性 https stackoverflow com questions 56895 proving sql query equ
  • 根据日期顺序排名

    我的数据如下 Heading Date A 2009 02 01 B 2009 02 03 c 2009 02 05 d 2009 02 06 e 2009 02 08 我需要如下排名 Heading Date Rank A 2009 02
  • JDBC插入实数数组

    我试图将一个真实的数组插入到 postgresql 数组中 该表的定义是 String sqlTable CREATE TABLE IF NOT EXISTS ccmBlock sampleId INTEGER block REAL 插入内
  • 快速查询最新记录的方法?

    我有一张这样的表 USER PLAN START DATE END DATE 1 A 20110101 NULL 1 B 20100101 20101231 2 A 20100101 20100505 在某种程度上 如果END DATE i
  • 从 Getdate() 获取时间

    我想采取Getdate 结果 例如 2011 10 05 11 26 55 000 into 11 26 55 AM 我看过其他地方并发现 Select RIGHT CONVERT VARCHAR GETDATE 100 7 这给了我 11
  • 如何使用 SQL Server 2008 将行复制到同一个表中

    A 到目前为止我的方式 sqlCommand CommandText INSERT Table1 column1 column2 column3 SELECT column1 column2 column3 FROM Table1 WHER
  • 我可以从 SQL Server 读取元数据来了解最后更改的行/表吗?

    我们有一个数据库hundreds的桌子 有没有某种metaSQL Server 中的数据源 我可以以编程方式查询以获取名称最后更改表和行 或者我们是否需要实施这个我们自己每个表中的字段称为上次更改日期时间 etc 就查明表最后一次修改的时间
  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装
  • 如何获取自定义订单的结果? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 代替ASC or DESC 我希望我的查询结果采用特定的自定义顺序 例如 如果我想要的结果不是 A B C D 而是 P A L H 该怎么

随机推荐

  • PHP应用程序的评论和回复的递归函数

    我很难概念化用于附加对评论的回复 对回复的回复 对回复的回复的回复等的递归函数 这是我的评论表 Which SHOULD渲染时看起来像这样 按照目前的情况 我可以呈现与article id相关的每条评论 不包括那些NOT NULL 当然 c
  • 获取实现某个抽象类的所有类

    我试图获取实现某个抽象类的所有类 我正在尝试使用以下代码来做到这一点 var type typeof BaseViewComponent var types Assembly GetEntryAssembly GetReferencedAs
  • 媒体播放器应该停止以编程方式断开我的 Android 应用程序中的耳机连接

    我在开发媒体播放器应用程序时遇到问题 我希望这样当我从设备上取下耳机时 我的应用程序中的 MediaPlayer 就会暂停 Android 文档建议使用 AUDIO BECOMING NOISY 意图过滤器 在您的清单中设置意图过滤器 然后
  • 使用 CMake 将文件从源目录复制到二进制目录

    我正在尝试在 CLion 上创建一个简单的项目 它使用 CMake 生成 Makefile 来构建项目 或某种项目 我需要的只是每次运行代码时将一些非项目文件 某种资源文件 传输到二进制目录 该文件包含测试数据 应用程序打开它来读取它们 我
  • Python:使用值的 sum() 优雅地合并字典[重复]

    这个问题在这里已经有答案了 我正在尝试合并来自多个服务器的日志 每个日志都是一个元组列表 date count date可能会出现多次 并且我希望生成的字典能够保存来自所有服务器的所有计数的总和 这是我的尝试 例如一些数据 from col
  • 在 UILabel 中查找子字符串的坐标

    我有一个来自服务器的字符串 我正在 UILabel 上显示它 在该字符串中 我正在识别一些特定的子字符串 我想在该子字符串上放置一个按钮 按钮将是 UILabel 的子视图 为此 我需要子字符串坐标 我经历了这个要点但我无法理解它 假设我的
  • 从Android Market查询最新的应用程序版本

    我可以通过代码在 Android Market 中查询我的应用程序的最新版本吗 我想在新版本可用时向用户显示更新通知 相关问题 在市场上更新我的应用程序的过程 Android 上有没有办法自动更新应用程序 Android 市场应用程序更新
  • “./bin/www”在 Express 4.x 中起什么作用?

    我刚刚开始在我的 Node js 应用程序中学习 Express 4 0 我发现它生成了 bin www文件 其中仅写入应用程序服务器和端口设置 而其他所有内容 例如中间件和路由 都在中定义 app js file 但是 我不确定这是什么
  • 使用java和itext生成带有Unicode字符的PDF文档

    我尝试从打印一些附加 Unicode 符号的 itext 示例中改编标准代码 尽管使用的字体支持这些字符 但我没有得到任何结果 最后一个字符 u2609 不会打印到pdf 提前致谢 These examples are written by
  • 垂直于圆锥体的曲面

    我用 OpenGL C 编写一个程序来对圆锥体进行光线追踪 对于我的强度计算 我需要知道表面法线 给定基础半径 高度和中心坐标 如何计算表面法线 我假设您需要在给定表面上的点的情况下找到表面的法线 我进一步假设这是一个圆锥体 其底座朝下 y
  • Firebase云函数对象可能“未定义”

    我在打字稿中有以下代码 并且在线收到此错误 change after data 对象可能是 未定义 import as functions from firebase functions import as admin from fireb
  • .NET 4.0 中的重大变化

    新 4 0 中有很多关于新功能和类的信息 但也有一些更改可能会影响现有应用程序 例如 Timespan 现在实现了 IFormattable 和旧版本字符串 Format 无效选项将引发异常 而不是调用简单的 ToString 然而 CLR
  • 如何使用 J2EE 容器 (Websphere) 全局设置响应标头

    有没有办法在 Web 服务器级别 web xml 为所有事务设置标头 具体来说 我想这样做 response setHeader Cache Control no cache no store response setDateHeader
  • Environment.TickCount是否受系统时间调整影响?

    我很好奇 NET BCL 属性Environment TickCount 是如何实现的 我现在特别想知道它是否受到以下影响系统时间调整 我对该属性是如何实现的第一个猜测是它只是一个围绕获取TickCount方法 但是 该文档的获取刻度数方法
  • 从 URL 获取图像但未完全加载

    我试图从 URL 获取图像 但当我将其保存到文件时 它是实际图像的一半 我搜索了许多网站和解决方案 例如 HttpWebRequest BeginGetResponse 因为我认为这是因为我必须缓冲数据 但它不起作用 我不知道我的代码的哪一
  • 从蓝牙输出到线路输出或扬声器的 AudioSession 输入

    设置音频会话后 以下代码将允许蓝牙输入 UInt32 allowBluetoothInput 1 AudioSessionSetProperty kAudioSessionProperty OverrideCategoryEnableBlu
  • 无法获取 Ripple 会话信息。例外:contentp-body

    Visual Studio 2015 CTP 5 创建了一个空白的 Apache Cordova 项目 没有更改任何文件 文件 gt 新建项目 gt JavaScript gt Apache Cordova 应用程序 已发表 调试 Andr
  • 如何让 php_http 扩展在 Windows 的 PHP 版本 5.4 上工作?

    有人知道如何让 php http 扩展在 Windows 上的 php 5 4 5 上运行吗 我正在尝试在我的 Windows 计算机上升级到 PHP 5 4 5 运行 IIS 我正在开发的项目依赖于 php http 扩展 http ww
  • 如何获取远程文件的上次修改日期

    我需要获取远程文件的文件修改日期 明显地 attributes在这个例子中返回NULL BOOL fileHasBeenModifiedSinceLastLaunch NSError err nil NSDictionary attribu
  • 在 MS-SQL 中将行数据分组并求和到列中?

    原始问题 我不知道我是否应该提出一个新问题或取消标记最后一个问题 所以 我想做的是 WorkWeek Catg Item Cost WorkWeek1 Cat1 Item1 Price WorkWeek1 Cat1 Item2 Price