C#用LINQ操作Datatable数据库 5C

现在有一个四列的Datatable
第一列为5或6个数字,要将除去最后两个数字之外相等的行&&第三列相同的行的第二列计算平均值,第四列加起来之后生成一个新的行,
把这些新的行存入一个新的Datatable,用LINQ怎么写啊!!
比如下面是部分截图
图片说明
要求新的Datatable是这样:
930 16.59 B 2080+400+..+2900
930 16.58 S 1000
931 16.59 B 600+400+..+1000
931 16.56 S 1500

0

4个回答

不清楚你的具体要求,无非就是aggregate或者groupby

1

第一列截取保留前三位,然后根据第二列分组求(感觉你这里应该是第三列),然后就是求和sum(第四列)。
var q =from p in db
group p by new
{
p.第二列,
p.第三列
}
into g
select p.第一列.substring(0,3),
new
{
g.key,
g
}
sum(p.第四列)
order by p.第一列.substring(0,3)

0
mingzaiwang
明仔丶 求和哪里写错了 应该按分组球的方式去写
2 年多之前 回复

var q =from p in db
group p by new
{
p.第二列,
p.第三列
}
into g
select p.第一列.substring(0,3),
new
{
g.key,
g.sum=p.Sum(第四列 => y.第四列)
}
order by p.第一列.substring(0,3)

差不多就是这样没有数据不能保证百分百但是差不多了

0

可以写多个语句,建立一个需要的结果类,var s=new list<结果类>,
然后在foreach,这个s
手动建立一个Datatable填充了
是不是可以这样?

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Linq实现DataTable动态去重复
本文介绍一种按字段动态对DataTable去除重复数据///    /// 按照fieldName从sourceTable中选择出不重复的行,    /// 并且返回sourceTable中所有的列。    ///    /// 源表    /// 字段数组   public static DataTable DistinctSomeColumn(DataTable sourceT
使用linq将2个Datatable合并
DataTable dtStepX = new DataTable(&amp;amp;quot;dtStepX&amp;amp;quot;); DataTable dtStepS = new DataTable(&amp;amp;quot;dtStepS&amp;amp;quot;); //获取两个数据源的并集 IEnumerable&amp;amp;amp;lt;DataRow&amp;amp;amp;gt; query = dtStepS.AsEnumerable().Union(dtStepX.AsE
Linq 多个DataTable表关联查询,实现考勤统计。
最近在做考勤系统时,由于不同的分公司的数据源在不同的服务器上,关联查询比较麻烦,因此想到了用Linq实现关联查询。 思路:查询各个考勤信息的dataTable,然后用Linq实现DataTable的多张表左关联查询。贴出来,与大家分享。 代码实现如下: 1.View显示: /// &amp;lt;summary&amp;gt; /// 考勤统计表-用于工资核算 /// &amp;lt;/...
C# LINQ对datatable中的数据排序分组统计计算
后台代码: datatable:dtSource  //汇总统计             var q1 = from dt1 in dtSource.AsEnumerable()//查询                        orderby dt1.Field&amp;lt;string&amp;gt;(&quot;字段1&quot;) descending//排序                            ...
C#怎样在DataTable中使用linq查询
本文新版已迁移到我的新博客,查看更多技术文章请访问我的博客 当前有一个任务,需要将datatable中数据筛选后存入新的datatable中,我的mysql数据库中表字段名为ErrorType,程序如下 SqlDataSource errorHoleInfoSqlDataSource = new SqlDataSource(); //还是使用SQLDataSource数据源,...
利用linq给两个datatable去重
两个datatable,t1和t2 t2是t1的子集,用linq去掉t1中包含t2的数据
Linq -----DataTableJoin查询(on多个条件的查询案例)
什么是LINQ 在关系型数据库系统中,数据被组织放入规范化很好的表中,并且通过简单且强大的SQL语言来进行访问。因为数据在表中遵从某些严格的规则,所以SQL可以和它们很好的配合使用。 然而,在程序中却与数据库相反,保存在类对象或结构中的数据差异很大。因此,没有通用的查询语言来从数据结构中获取数据。从对象获取数据的方法一直都是作为程序的一部分而设计的。然而使用LINQ可以很轻松地查询对象集合。 ...
Linq 选取datatable 指定列
/*遍历DataTable*/         class ClientStruct         {             public string ID = "ID";             public string Name = "Name";             public string Company = "Company";     
(由浅入深)C#两个DataTable根据某一关键列使用LINQ拼接(join)(left join)
在实际的需求中,进程会遇到两个DataTable需要根据某一列来进行合并需求,然而写两个datatable的循环来进行拼接。太影响效率。当在数据量大的时候,LINQ是个非常不错的选择。 直接上代码,数据格式如下: 1.0版本代码: //数据 DataTable dtNow = new DataTable(); dtNow.Columns.Add(&quot;id&quot;); dtNow.Columns....
DataTable 使用linq方法获得某列分组列表
DataTable 使用linq方法获得某列分组列表
DataTable对象系列化后可以用Linq获取值方法
系统化后可以用linq,不用循环语句,要方便很多,获取值方法: //类 public class User { public int ID { get; set; } public string Name { get; set; } } //对象转换 private static List TableToEntity(DataTable dt) wher
LINQ找出datatable某列所有出现过的值(不包含重复数据)
LINQ找出datatable某列所有出现过的值(不包含重复数据) //找出选定列重复的数据值 var dr = from item in dtCopy.Columns[selcol].Table.Select() group item by item.ItemArray[selcol].ToString()...
linq基础使用(配合sqlserver)
  linq的使用大大减少了操作数据的难度,微软收购了github,和U3D大力合作,C#还是很优秀的、使用起来方便。  配置sqlserver使用linq第一步,连接数据库。  在项目中添加一个文件夹,添加新建项  按理来说这三个都是可以选的,我们这里选择第一个尸体数据模型这里可以选第一个或第四个设置将要连接的数据库然后接下来就是选择需要操作的表选好后就点击完成 生成这样一个结构就行了,Mode...
C#利用SqlDataAdapte对DataTable进行批量数据操作
C#利用SqlDataAdapte对DataTable进行批量数据操作,可以让我们大大简化操作数据的代码量,我们几乎不需要循环和不关心用户到底是新增还是修改,更不用编写新增和修改以及删除的SQL语句,适配器都帮我们在后台进行了很好的处理.   如果您要通过 SQL Server 存储过程使用 DataAdapter 来编辑或删除数据,请确保不要在存储过程定义中使用 SET NOCOUNT O
Linq模糊查询
Linq模糊查询           EF中使用的linq查询语句,这里需要进行模糊查询。           在linq中进行模糊查询非常的简单,使用Contains即可。           把前端的字符串,传到后台之后,在写linq语句的时候使用Contains即可。 public ListFuzzyQuery(string Content)
linq操作sqlserver数据库基本语句
说明:首先在项目中添加 新建项 LINQ to SQL类 自定义类代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SQL_LINQ { class linq_To_Sql
VB.net 使用LINQ对datatable对象进行查询
之前稍微了解过一点点LINQ的概念,一直没研究过,最近做个小型的数据处理程序,正好练练手,看了一些攻略,结果有个AsEnumerable()的方法VS里面死活不识别,研究了半天终于发现原来是使用前还得在项目引用中把System.Data.DataSetExtensions给加进去才行,擦了个擦的. 祭上代码吧 Private Sub Button4_Click(sender A
两个Dataset或者两个DataTable 是否存在差异的比较函数
2个Dataset或者2个DataTable比较是否存在不同
DataTable实现leftJoin和rightJoi以及innerJoin
比较实用的方法,已经用到项目里,很好用的一个方法
linq查询获取第一行数据
linq查询获取第一行数据 爬上来做个笔记,最近公司在用linq做查询,我八百年没接触过linq,基本处于现学现用的阶段。 query.FirstOrDefault(); //获取第一条数据的 如果要获取行中的哪一列 比如ID 直接query.FirstOrDefault().ID ...
C# linq连接SQL数据库
这是我第一次写的博客,可能排版,语句均有错误,望见谅。 先在sql中建立你要的数据库。 开启服务 一般来说开第二个服务就够了。但是因为需要用C#连接数据库所以,要开其他的服务。 我一开始就是卡在这里,如果相关服务没开或者sql配置出错会出现错误。 之前网上让我打开SQL Server配置管理器配置SQL。 但是打不开!!   错误提示:           
c#使用Linq实现SQL数据库的增、删、改、查
使用linq实现对SQL Server数据库的增加、删除、更改、查询,程序简单易懂,非常适合初学者。
使用list方法插入datatable中的数据到数据库
两种list方式,可以多条合并一起插入到数据库中
两datatable数据集关联,实现inner join或left join效果
今日遇到一个开发任务,是两个查询出的datatable,要像sql左关联查询,读取左边datatable所有列及dt2的列DeliveryMode想到的第一种方法是在dbData中增加一列,然后循环dbData,再自dt2中读取相应值然后赋值到新加的列中。实现方法如下:System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatc...
c# 把DataTable 列转行逗号分隔
string[] idIn=dt.AsEnumerable().Select(r=>r.Field("ID")).ToArray();       string skus = string.Format("'{0}'", string.Join("','", idIn));
通过Linq操作Sql Server数据库
基本的通过Linq对数据库进行增删查改,很适合初学linq的人员
使用LINQ查询关系型数据库
一、概述LINQ支持自定义提供者,这些提供者将LINQ表达式树转换为数据源所支持的语言,值得关注的是LINQ可以通过IQueryable接口访问ADO.NET对象。LINQ可以直接对DataSet进行查询,也可以用DataContext和Table(实现了ITable、IQueryable、IEnumerable)。最基本的工作是定义一个对象关系映射(ORM),用于将C#实体类与数据库中的表映射起...
datatable如何直接更新数据
如果一个datatable生成的表格是ajax请求的数据的,我们只需要 xxx.ajax.reload()即可重新获取数据 但如果数据是从别处直接拿过来的数组该如何更新, 具体操作是 记录当前页码 清除整个表格数据 添加表格的全部数据 定位页面当之前的记录,并重绘 操作见下面的代码 var realTable = $('#example').DataTable(dataTableS
DataTableHelper 用c# 对DataTable进行操作的类库汇总 源代码
DataTableHelper 用c# 对DataTable进行操作的类库汇总 源代码
C# Linq的多表join操作 空操作
DataSet dsOperator = GetAllOperatorInfo_ds(); DataTable dtOperator = dsOperator.Tables[0]; var query1 = from rPerm in dtPERMISSION.AsEnumerable()
linq技术对SQL Server数据库的增删改查 C#实现
VS2010项目,10以上版本可直接打开。采用三层架构,用C#实现对数据库的增删改查,SQL Server入门必看!!
LINQ对SQL Server数据库的管理
LINQ不仅仅能操作SQL Server数据库,还可以操作数组,集合,DataSet,XML等等 本篇介绍LINQ操作SQL Server数据库 首先,我先介绍LINQ的增删改查的重要步骤:     第一步:建立数据连接,在我的另一篇博文&quot;&amp;lt;&amp;lt;VS添加数据连接&amp;gt;&amp;gt;&quot;中已经介绍     第二步:在解决方案中的项目上,右键建立LINQ to SQL类    第三步:L...
C#Winform Linq_to_Sql 实现增删改查功能
PS: Linq_to_Sql数据查询语言为强数据类型的语言,操作的基本单位与DataSet一样都是以数据实体,所以操作数据前所有要更新的数据值都要与实体的数据类型相同。如下例中为price和typeids赋值 1.按条件查询表Room绑定到DataGridView //按条件查询表Room绑定到DataGridView protected void LoadData()
获取datatable的前几条数据
后台代码    ///         /// 获取datatable前几条数据         ///         ///         ///         ///  public static DataTable DtSelectTop(int TopItem, DataTable oDT)         {             if (oDT.Ro
用C#实现对DataTable的JOIN,GROUP BY,FILTER,UNIONALL,DISTINCT
用C#实现对DataTable的JOIN,GROUP BY,FILTER,UNIONALL,DISTINCT
C# Linq 实现 对表某类型的数据统计
DateTime start = Convert.ToDateTime(startTime); DateTime end = Convert.ToDateTime(EndTime); Entity.MP.Num num = new Entity.MP.MicroChannelNum();var scan = db.text.Where(f => f
C#数据流返回DataTable
        public static DataTable GetTable(string sqlText, Dictionary&amp;lt;string, object&amp;gt; dic, IDbConnection dbConn, bool isClose)         {             DataTable dt = null;             using (IDbComm...
C# DataTable相关操作
DataTable相关操作 用法一:动态创建一个DataTable ,并为其添加数据 public void CreateTable() { //创建表 DataTable dt = new DataTable(); //1、添加列 dt.Columns.Add(&amp;amp;amp;quot;empName&amp;amp;amp;quot;, typeof(string)); //数据类型为 文本 //2、...
简易版dataTable,包含增删改查、统计
有不明白使用方法的读者可以留言。
Datatable中对某列求和,三种不同情况下的方法
C# code 方法一. object sumObject = DataTable.Compute("sum(Qty)", "TRUE"); 直接对数据表中的字段求和,其中Qty的类型为Int整型 方法二. double ColumnSum(Data