请帮助我处理使用带有GROUP和SUM的LINQ进行查询的问题。
// Query the database
IEnumerable<BestSeller> best_sellers = from bs in (db.MYDATABASE).Take(25)
where bs.COMPANY == "MY COMPANY"
group bs by bs.PRODCODE into g
orderby g.Sum(g.MQTY)
select new BestSeller()
{
product_code = ,
product_description = ,
total_quantity =
};
我希望:
BestSeller()
对象中我很困惑,因为一旦我将其添加group
到混音中,我的bs
变量就变得无用了。
我很困惑,因为一旦我将组添加到混合中,我的bs变量就变得无用了。
是的,因为您不再有单个项目-您现在正在处理一系列项目 组 。您可以为每个组获得第一项,我认为这是获得描述的有效方法吗?
var query = from bs in db.MYDATABASE.Take(25)
where bs.COMPANY == "MY COMPANY"
group bs by bs.PRODCODE into g
orderby g.Sum(x => x.MQTY)
select new BestSeller
{
product_code = g.Key,
product_description = g.First().DESCRIPTION,
total_quantity = g.Sum(x => x.MQTY)
};
请注意,如果未指定顺序,则“ db.MYDATABASE中的前25个项目”没有任何意义。“ Top”以什么方式?您可能想要:
from bs in db.MYDATABASE.OrderByDescending(x => x.Price).Take(25)
或类似的东西。请注意,如果这些公司都没有“ MY COMPANY”公司,那么您最终将没有结果…
或者,如果您想要排名前25位的畅销书,则希望在结尾处“参与”:
var query = from bs in db.MYDATABASE
where bs.COMPANY == "MY COMPANY"
group bs by bs.PRODCODE into g
orderby g.Sum(x => x.MQTY) descending
select new BestSeller
{
product_code = g.Key,
product_description = g.First().DESCRIPTION,
total_quantity = g.Sum(x => x.MQTY)
};
var top25 = query.Take(25);
我有以下代码块可以正常工作; 这给了我2个错误; 错误%1“System.Collections.ObjectModel.ObservableCollection.ObservableCollection(System.Collections.Generic.List)”的最佳重载方法匹配包含一些无效参数 错误2参数1:无法从“System.Linq.IQueryable>”转换为“System.
问题内容: 我正在尝试找出如何在LINQ中编写SQL语句,但是暂时找不到一种方法,这是SQL命令: 有人可以帮我使用linq语法吗? **到目前为止,我一直在尝试(感谢levanlevi) 但我收到以下错误: http://i.stack.imgur.com/AkJ5V.png 问题答案:
问题内容: 我很难弄清楚如何将这个简单的SQL语句转换为(c#)linq到SQL: 任何帮助表示赞赏 问题答案: 我仍在学习LINQ,但这似乎可行 我希望能够很好地将LINQ转换为SQL,因为我仅在对象上进行过尝试。
我有一堆数据帧,我连接成一个大数据帧。所有行都有一个datetime、一个名称,然后是一些具有随机值的列,例如,数据帧可以如下所示: 现在,我需要按对这些行进行分组,并将它们分成60分钟的bins,我目前的做法如下: 这可以用任何方式来完成吗?或者我必须将我的数据帧一分为二,然后在之后加入?
问题内容: 我需要将该SQL查询转换为Linq: 我尝试了以下代码,但在“ a.ArticleName”处收到错误消息,提示“ ArticleName”的定义将丢失。 你们中有人有人知道如何解决此问题吗? 谢谢你的帮助! 问题答案: 您收到此错误是因为分组未返回,但 您需要更改代码以使用: