按具有不同Where条件的两个字段对数据表进行分组和求和

2024-03-03

我有一个包含示例数据的数据表,如下所示。

UserName    IsBillable    Hours
-----------------------------
user1       Yes           10
user2       Yes           15
user3       No            20
user1       Yes           25
user1       No            15
user2       Yes           10

我想分组IsBillable并与Hours column.

UserName    Billable    NonBillable
-----------------------------
user1       35           15
user2       25           0
user3       0            20

我怎样才能做到这一点使用LINQ ?


你可以尝试这样的事情:

var grouped = dt.AsEnumerable()
                .GroupBy(row=> row.Field<string>("UserName"))
                .Select(gr=> new 
                {
                    UserName = gr.Key,
                    Billable = gr.Where(row=>row.Field<string>("IsBillable")=="Yes")
                                 .Sum(row=>row.Field<int>("Hours"),
                    NonBillable = gr.Where(row=>row.Field<string>("IsBillable")=="No")
                                    .Sum(row=>row.Field<int>("Hours"),
                });

我假设dt是您的数据表,您只需要一系列具有三个属性的项目UserName, Billable, NonBillable。如果您需要将结果作为数据表,则需要一些额外的工作。如果是这样的话,请告诉我。

我们上面所做的事情很简单。最初,我们根据用户名对结果进行分组,然后过滤每组的项目,以计算相应的总和。

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

按具有不同Where条件的两个字段对数据表进行分组和求和 的相关文章

  • Nullable 是不可能的,为什么不呢? [复制]

    这个问题在这里已经有答案了 如果这是一个愚蠢的问题 请原谅 我正在尝试更好地理解 Net 中的 Nullable 类型 从我从 Microsoft 源代码 使用 ReSharper 中注意到的内容 我了解到 Nullable 是一个结构 而
  • 当其源是 https uri 时如何使 wpf MediaElement 播放

    在 wpf 独立应用程序 exe 中 我在主窗口中包含了 MediaElement
  • EventHandler 应该始终用于事件吗?

    我一直在愉快地使用自定义委托类型和通用编写事件Action委托类型 没有真正考虑我在做什么 我有一些很好的扩展助手Action and EventHandler这使我倾向于使用那些预定义的委托类型而不是我自己的委托类型 但除此之外 除了惯例
  • 通过 SOAP 的 Gmt php 或 UTC C# 等效项

    is C DateTime UtcNow和 PHPdate c 是等价的 我怀疑 因为当我肥皂时 我得到了 C
  • OpenGL缓冲区更新[重复]

    这个问题在这里已经有答案了 目前我正在编写一个模拟水的程序 以下是我所做的步骤 创建水面 平面 创建VAO 创建顶点缓冲区对象 在其中存储法线和顶点 将指针绑定到此 VBO 创建索引缓冲区对象 然后我使用 glDrawElements 渲染
  • C# Outlook 从收件人获取 CompanyName 属性

    我目前正在使用 C 编写 Outlook 2010 AddIn 我想要的是从我从 AppointmentItem 中提取的 Recipient 对象中获取 CompanyName 属性 因此 有了 AppointmentItem 的收件人
  • DataGridView 列中的数字文本框

    我有一个DataGridView 我想要它的第一列或任何所需的列 其中有textboxes在其中 成为NUMERIC ONLY 我目前正在使用这段代码 private void dataGridViewItems EditingContro
  • 如何调试在发布版本中优化的变量

    我用的是VS2010 我的调试版本工作正常 但我的发布版本不断崩溃 因此 在发布版本模式下 我右键单击该项目 选择 调试 然后选择 启动新实例 此时我看到我声明的一个数组 int ma 4 1 2 8 4 永远不会被初始化 关于可能发生的事
  • make_shared<>() 中的 WKWYL 优化是否会给某些多线程应用程序带来惩罚?

    前几天我偶然看到这个非常有趣的演示 http channel9 msdn com Events GoingNative GoingNative 2012 STL11 Magic Secrets作者 Stephan T Lavavej 其中提
  • C# Winforms Designer 无法打开,因为它无法在同一程序集中找到类型

    我收到以下错误 找不到类型 My Special UserControl 请确保引用包含此类型的程序集 如果此类型是您的开发项目的一部分 请确保已使用当前平台或任何 CPU 的设置成功构建该项目 但没有任何意义的是My Special Us
  • 如何在新窗口中打开图像或pdf文件?

    我有一个 gridview 它包含文件名和文件路径 图像和 pdf 格式文件 其中我使用了模板字段 在该字段下放置了 1 个图像按钮 单击该图像按钮 即 查看 按钮 时 我想在新窗口中打开所选文件 这是我的代码 protected void
  • 是否可以在Linux上将C转换为asm而不链接libc?

    测试平台为Linux 32位 但也欢迎 Windows 32 位上的某些解决方案 这是一个c代码片段 int a 0 printf d n a 如果我使用 gcc 生成汇编代码 gcc S test c 然后我会得到 movl 0 28 e
  • 如何在 EF Core 2.1 中定义外键关系

    我的 DAL 使用 EF Core 2 1 这就是我的模型的样子 一名用户只能拥有一种角色 Role entity kind of master public class Role public int RoleId get set pub
  • 如何对STL向量进行排序?

    我想排序一个vector vector
  • WPF DataGrid - 在每行末尾添加按钮

    我想在数据网格的每一行的末尾添加一个按钮 我找到了以下 xaml 但它将按钮添加到开头 有人知道如何在所有数据绑定列之后添加它吗 这会将按钮添加到开头而不是末尾
  • 时间:2019-03-17 标签:c#TimerStopConfusion

    我想通过单击按钮时更改文本颜色来将文本框文本设置为 闪烁 我可以让文本按照我想要的方式闪烁 但我希望它在闪烁几次后停止 我不知道如何在计时器触发几次后让它停止 这是我的代码 public Form1 InitializeComponent
  • 值和类型的简洁双向静态 1:1 映射

    我将从我想象如何使用我想要创建的代码开始 它不必完全像这样 但它是我在标题中所说的 简洁 的一个很好的例子 就我而言 它是将类型映射到相关的枚举值 struct bar foo
  • Emacs C++,打开相应的头文件

    我是 emacs 新手 我想知道 是否有在头文件 源文件和相应的源文件 头文件之间切换的快捷方式 是否有像通用 emacs 参考卡那样的参考卡 Thanks There s ff find other file 您可以使用以下方法将其绑定到
  • 是否可以使用 Dapper 流式传输大型 SQL Server 数据库结果集?

    我需要从数据库返回大约 500K 行 请不要问为什么 然后 我需要将这些结果保存为 XML 更紧急 并将该文件通过 ftp 传输到某个神奇的地方 我还需要转换结果集中的每一行 现在 这就是我正在做的事情 TOP 100结果 使用 Dappe
  • R data.table 1.9.2 关于 setkey 的问题

    这似乎是 1 8 10 后引入的一个错误 与包含列表的 DT 的 setkey 相关 运行下面两个代码来查看问题 library data table dtl lt list dtl 1 lt data table scenario 1 p

随机推荐

  • 占位符在 select2 中不起作用

    我在工作Select2选择框 Problem 占位符未显示在select2 它始终显示在中选择的第一个选项select2 它会自动选择我想显示占位符而不是它的第一个选项 My Code Script
  • Zend URL 参数 - 隐藏键和显示值

    使用 Zend 的默认路由 URL 如下所示 www domain com controller action key1 value1 key2 value2 key3 value3 每个键和值都作为一对存储在返回的数组中getParams
  • ReactJS-下载pdf文件“失败-无文件”

    我编写了一个 React 组件来使用文件的锚标记下载 pdf 文件 我收到错误Failed No file import React from react const Links gt div a href https github com
  • vscode - 将一个分支合并到另一个分支

    是否可以使用 vscode 界面而不是终端将一个分支合并到另一个分支 或者是否有任何扩展可以实现这一点 使用 vscode v1 13 0提前致谢 我创建了一个扩展 其名称如下 git合并 https marketplace visuals
  • 在 OpenShift(红帽云)上每 5 分钟运行一次 CRON 作业

    我试图每 5 分钟运行一次这个脚本 在 OpenShift 上运行 CRON 作业的唯一方法似乎是使用他们的 CRON 插件 而且CRON插件只允许每分钟 每小时和每天的脚本 通过将脚本放在相应的文件夹中 我尝试每 5 分钟运行一次此脚本
  • UINT_MAX 是否将所有位设置为 1?

    这个问题以前被问过 但我仍然很困惑 我知道 unsigned int a 1 将会UINT MAX 但这并不是因为所有 1 位都已设置 C11 说 如果新类型是无符号的 则通过重复添加或来转换该值 比新类型可以表示的最大值减一 直到该值在新
  • 向每个处理程序添加响应标头,而不重复同一行

    我正在编写一个小型网站 对于每个页面 我都将服务器名称添加到其标题中 func httpSignUp rw http ResponseWriter req http Request rw Header Set Server SERVER N
  • 如何使用自定义形状的 fab 按钮制作 Bottombar?

    我想制作一个带有附加 fab 按钮的底栏 如下图所示 如果有人知道那种带有 fab 底部的不同形状按钮库 请向我推荐 下面给出的图像用这样的 fab 制作了一个底栏 这只是一个可以改进代码的想法 您可以更改形状FloatingActionB
  • 如何有条件地从 .NET 集合中删除项目

    我正在尝试在 NET 中编写一个扩展方法 它将对通用集合进行操作 并从集合中删除与给定条件匹配的所有项目 这是我的第一次尝试 public static void RemoveWhere
  • 如何用 C 语言为 PIC24 编写与硬件无关的函数

    我正在编写一些实现各种功能的代码 例如 PID 控制器 信号发生器等 我的硬件提供各种输入和输出 刚才我有大量 SWITCH 语句来确定计算的源和目的地 例如 对于 PID 控制器 每 100ms 有一个开关命令 决定将哪个输入传递给 pi
  • 如何通过 PHP 发布到 Google Plus? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想知道是否已经有一个浮动的非官方 PHP 库或类 我可以使用它来发布到用户的 Google Plus
  • 如果不存在则删除表空间

    我已经编写了 pl sql 脚本 可以工作 但看起来不太好 DECLARE v exists NUMBER BEGIN SELECT count INTO v exists FROM dba tablespaces WHERE tables
  • 将结果集从 SQL 数组转换为字符串数组

    我正在查询information schema columns我的 PostgreSQL 数据库中的表 使用表名 结果集查找所有列名 类型以及是否可为空 主键 id 除外 这是正在使用的查询 SELECT column name is nu
  • C# Lambda 表达式:为什么应该使用它们?

    我很快读完了微软 Lambda 表达式 http msdn microsoft com en us library bb397687 aspx文档 不过 这种例子帮助我更好地理解 delegate int del int i del myD
  • Isabelle 返回数字而不是 Suc(Suc( ... 0 ))

    当我使用value为了找出返回自然数的函数的某个值 我总是以 0 的迭代后继函数的形式获得答案 即Suc Suc 0 有时可能很难阅读 有没有办法直接输出Isabelle返回的数字 这是我不久前想修复的问题 但显然我忘记了 卡西吉奈特的猜测
  • 如何从 C# 获取进程窗口类名?

    如何获取某个进程的窗口类名 我想在c 中实现这一点 我已经尝试过 c 中的进程类 但我只能获取进程的窗口名称 Thanks 我假设你的意思是你想获得的类名主窗口一个过程的 为此 您需要使用以下命令获取主窗口的句柄MainWindowHand
  • C中的函数调用[重复]

    这个问题在这里已经有答案了 可能的重复 为什么 gcc 允许将参数传递给定义为不带参数的函数 https stackoverflow com questions 12643202 why does gcc allow arguments t
  • SLURM:如何在同一计算节点或不同节点上并行运行不同的可执行文件?

    Goal 了解如何通过 sbatch 作业提交来运行 共同调度或执行可执行文件 应用程序 使用 srun 或 mpirun 研究 代码片段 bin bash SBATCH job name LEBT SBATCH partition ang
  • Office 脚本(Excel 网页版)获取错误

    我正在尝试从 Web 上的 Excel 调用外部 API 但是 我一直试图从 fetch 调用中获取结果 我什至使用 Office 文档示例来确保 在 Excel 中 单击自动化以创建新脚本 async function main work
  • 按具有不同Where条件的两个字段对数据表进行分组和求和

    我有一个包含示例数据的数据表 如下所示 UserName IsBillable Hours user1 Yes 10 user2 Yes 15 user3 No 20 user1 Yes 25 user1 No 15 user2 Yes 1