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问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C# dataTable的linq联合查询,插入到新的dataTable中
[csharp] view plain copy //获取要比对的数据               DataTable dataTable_yh = (DataTable)gridControl1.DataSource;               DataTable dataTable_tg = (DataTable)gridControl2.DataSourc
C#利用Linq对DataTable过滤查询代码
C#利用Linq对DataTable过滤查询代码,项目中老是需要对DataTable过滤,试了试Linq挺方便的哟。 小例子: IEnumerable query = from r in dt.AsEnumerable() where r.Field("ID")>10 select r 小例子,当然您也可以这样实现: DataTable dt; Dat
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
  using System.Data; using System.Linq; //注意项目要引用System.Data.DataSetExtensions   DataTable dtA = new DataTable();dtA.Columns.Add(&quot;id&quot;, typeof(int));dtA.Columns.Add(&quot;price&quot;, typeof(string));dtA.Ro...
使用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
C# 用Linq实现DataTable实现重复数据过滤
未过滤前: 过滤后(仅会过滤掉完全一样的数据): 代码如下: DataTable dt = this.JsonToDataTable("[{\"Code\":\"SortId\",\"Name\":\"SortId\"},{\"Code\":\"SortCode\",\"Name\":\"编号\"},{\"Code\":\"SolutionName\",\"Name\":
用linq对datatable进行分组查询并返回datatable
DataTable dataTable = new DataTable();                 dataTable.Columns.Add("FDATE");                 dataTable.Columns.Add("FHOUR");                 dataTable.Columns.Add("FALARMCODE");
C#DataTable 使用GroupBy方法的lamda 表达式和Linq语句写法
DataTable ds = new DataTable(); //1、lamda 表达式写法(推荐)  var result = ds.AsEnumerable().GroupBy(s =&amp;gt; new{Year = s.Field&amp;lt;int&amp;gt;(&quot;Year&quot;), Month = s.Field&amp;lt;int&amp;gt;(&quot;Month&quot;), Day = s.Field&amp;lt;int&amp;gt...
DataTable 使用linq方法获得某列分组列表
DataTable 使用linq方法获得某列分组列表
Linq初探——DataTable的查询与修改
<br />第一次接触Linq,做了个小的测试程序。<br /> <br />using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; namespace WebApplication_study.Linq { public p
Linq查询datatable的记录集合
通过linq查询datatable数据集合满足条件的数据集 1.首先定义查询字段的变量,比如深度 string strDepth=查询深度的值;  var dataRows = from datarow in dataTable(需要查询的datatable数据集).AsEnumerable()                            where
使用Linq快速查找两个DataTable不同的结果
DataTable dt1 = ...             DataTable dtSql = sqlHelper.QueryTable(sql).Tables[0];
Linq 多个DataTable表关联查询,实现考勤统计。
最近在做考勤系统时,由于不同的分公司的数据源在不同的服务器上,关联查询比较麻烦,因此想到了用Linq实现关联查询。 思路:查询各个考勤信息的dataTable,然后用Linq实现DataTable的多张表左关联查询。贴出来,与大家分享。 代码实现如下: 1.View显示: /// &amp;lt;summary&amp;gt; /// 考勤统计表-用于工资核算 /// &amp;lt;/...
用Linq和Dataview筛选查询DataTable数据,DataTable和List相互转换
DataTable 的筛选如果直接用select方法返回的是DataRow[]数组,不适合我们再次利用DataTable, 利用DataView可以通过如下方式实现查询结果直接为DataTable: DataTable dt = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Primary_Keys, new
Linq实现DataTable动态去重复
本文介绍一种按字段动态对DataTable去除重复数据///    /// 按照fieldName从sourceTable中选择出不重复的行,    /// 并且返回sourceTable中所有的列。    ///    /// 源表    /// 字段数组   public static DataTable DistinctSomeColumn(DataTable sourceT
利用linq给两个datatable去重
两个datatable,t1和t2 t2是t1的子集,用linq去掉t1中包含t2的数据
Linq -----DataTableJoin查询(on多个条件的查询案例)
什么是LINQ 在关系型数据库系统中,数据被组织放入规范化很好的表中,并且通过简单且强大的SQL语言来进行访问。因为数据在表中遵从某些严格的规则,所以SQL可以和它们很好的配合使用。 然而,在程序中却与数据库相反,保存在类对象或结构中的数据差异很大。因此,没有通用的查询语言来从数据结构中获取数据。从对象获取数据的方法一直都是作为程序的一部分而设计的。然而使用LINQ可以很轻松地查询对象集合。 ...
如何将linq查询的结果 转换为DataTable,最简单的实现方法
<br />public static DataTable CopyToDataTable<T>(this IEnumerable<T> array)<br />  {<br />  var ret = new DataTable();<br />  foreach (PropertyDescriptor dp in TypeDescriptor.GetProperties(typeof(T)))<br />  ret.Columns.Add(dp.Name, dp.PropertyType);<br />
(由浅入深)C#两个DataTable根据某一关键列使用LINQ拼接(join)(left join)
在实际的需求中,进程会遇到两个DataTable需要根据某一列来进行合并需求,然而写两个datatable的循环来进行拼接。太影响效率。当在数据量大的时候,LINQ是个非常不错的选择。 直接上代码,数据格式如下: 1.0版本代码: //数据 DataTable dtNow = new DataTable(); dtNow.Columns.Add(&quot;id&quot;); dtNow.Columns....
Linq 选取datatable 指定列
/*遍历DataTable*/         class ClientStruct         {             public string ID = "ID";             public string Name = "Name";             public string Company = "Company";     
Linq实现DaTaTable或者List里面数据值不重复
在回答论坛有个某列不重复的值为条件获取数据的问题,二
linq Distinct的一个简单实现方法
linq Distinct   IEnumerable> query1 = from e in jv group e by new { e.ReportId } into g select g.ToList(); 这段代码可以得到一个范型的集合(根据reportId分组后的范型集合),通过fo
C#利用SqlDataAdapte对DataTable进行批量数据操作
C#利用SqlDataAdapte对DataTable进行批量数据操作,可以让我们大大简化操作数据的代码量,我们几乎不需要循环和不关心用户到底是新增还是修改,更不用编写新增和修改以及删除的SQL语句,适配器都帮我们在后台进行了很好的处理.   如果您要通过 SQL Server 存储过程使用 DataAdapter 来编辑或删除数据,请确保不要在存储过程定义中使用 SET NOCOUNT O
C# 对DataTable中按条件进行筛选和更新。
当我们频繁的对数据库进行操作时,可能造成CPU使用率过高,这时我们可以先将数据表读取到DataTable,然后在必要的时候再更新到数据库中。 以下是DataTable中对数据的选择和更新操作。采用DataTable.Select()方法。采用该方法获取的结果是DataRow对象数组。Select()有三种重载(以下资料来自MSDN): MSDN关于Select()方法内容链接 以下依次...
C#基础 之 DataTable操作性能优化
DataTable合并 // 一般方法,性能不好 DataTable[] srcTables = ... ; foreach( DataTable src in srcTables ) { dest.Merge( src ) ; } // 推荐方法,速度是上面的100倍 DataTable[] srcTables = ... ; foreach( DataTable src
DataTable与Linq相互转换方法
DataTable与Linq相互转换方法
Linq to sql 中将匿名类集合转换成DataTable
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Reflection;//反射命名空间   namespace Common {     public class StaticConvert
如何使用LINQ链接数据库并操作数据库
1、在App_Code下面添加新项“LINQ to SQL 类” 2、打开该类,设置Name属性(例如MyLinqDB)和Connection属性 3、服务器资源管理器内添加数据库连接 4、将数据库内需要操作的表拖入LINQ to SQL 类的设计视图,并保存 5、新建数据绑定控件例如ListView1 6、后台Page_Load编写代码: var DB = new MyLinqDB(
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
C#使用Linq对DataGridView进行模糊查找
针对DataGridView中已进行过数据绑定,
LINQ找出datatable某列所有出现过的值(不包含重复数据)
LINQ找出datatable某列所有出现过的值(不包含重复数据) //找出选定列重复的数据值 var dr = from item in dtCopy.Columns[selcol].Table.Select() group item by item.ItemArray[selcol].ToString()...
c#使用Linq实现SQL数据库的增、删、改、查
使用linq实现对SQL Server数据库的增加、删除、更改、查询,程序简单易懂,非常适合初学者。
取代DataTable.Select方法,并动态拼接Lambda表达式
原来的程序里面,有这样一段
linq基础使用(配合sqlserver)
  linq的使用大大减少了操作数据的难度,微软收购了github,和U3D大力合作,C#还是很优秀的、使用起来方便。  配置sqlserver使用linq第一步,连接数据库。  在项目中添加一个文件夹,添加新建项  按理来说这三个都是可以选的,我们这里选择第一个尸体数据模型这里可以选第一个或第四个设置将要连接的数据库然后接下来就是选择需要操作的表选好后就点击完成 生成这样一个结构就行了,Mode...
[转载]C#利用DataTable做分页查询|根据字段过滤DataTable表的内容
using System.Data; namespace NFine.Code { public static class ExtTable { /// &amp;lt;summary&amp;gt; /// 获取表里某页的数据 /// &amp;lt;/summary&amp;gt; /// &amp;lt;param name=&quot;data&quot;&amp;gt;表数...
当linq 指定的转换无效
1.linq to sql 在SubmitChanges()时提示“指定转换无效”怎么办? 经查,这是一个linq2sql中的bug,具体的介绍可以看这里: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=351358 推荐的解决方法是,升级到.net 4.0或删除两个表之间的
两datatable数据集关联,实现inner join或left join效果
今日遇到一个开发任务,是两个查询出的datatable,要像sql左关联查询,读取左边datatable所有列及dt2的列DeliveryMode想到的第一种方法是在dbData中增加一列,然后循环dbData,再自dt2中读取相应值然后赋值到新加的列中。实现方法如下:System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatc...
VB.net 使用LINQ对datatable对象进行查询
之前稍微了解过一点点LINQ的概念,一直没研究过,最近做个小型的数据处理程序,正好练练手,看了一些攻略,结果有个AsEnumerable()的方法VS里面死活不识别,研究了半天终于发现原来是使用前还得在项目引用中把System.Data.DataSetExtensions给加进去才行,擦了个擦的. 祭上代码吧 Private Sub Button4_Click(sender A
C# DataTable分页(不需要sql)
public class DataSetHelper { public static DataSet SplitDataSet(DataSet ds, int pageSize, int pageIndex) { DataSet vds = new DataSet(); vds = ds.Clone();
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 数据库用课程设计 数据库用课程设计