[英]Sql linq query with where and group by
我對Linq遇到嚴重問題。 我有簡單的SQL查詢:
select
intMiesiac,
intRok,
Sum(intIn) as 'In',
Sum(intOut) as 'Out'
from dbo.GlobalDane
where intRampNr=1
group by intMiesiac, intRok
我查詢指定的inRampNr的總和,並希望按月和年分組。
在linq中嘗試了各種各樣的查詢,但是當我將查詢結果放到gridview的數據源中然后綁定數據源時,它失敗了,或者只顯示了空單元格。
如何在C#下的linq中創建相同的語句?
類似於以下內容的內容可以幫助您:
var results =
dataContext.GlobalDanes
.Where(gd => gd.intRampNr == 1)
.GroupBy(
gd =>
new
{
gd.intMiesiac,
gd.intRok,
})
.Select(
grp =>
new
{
grp.Key.intMiesiac,
grp.Key.intRok,
In = grp.Sum(gd => gd.intIn),
Out = grp.Sum(gd => gd.inOut),
});
同樣在查詢語法中
from a in db.GlobalDane
where a.intRampNr == 1
group a by new { a.intMiesiac, a.intRok, } into g
select new
{
g.Key.intMiesiac,
g.Key.intRok,
In = g.Sum(X => X.intIn),
Out = g.Sum(X => X.inOut),
};
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.