3
沒有與組由例子 - 具有計數或選擇在網絡上最小日期與LINQ,但我無法找到特定的解決方案對於我的問題。而且我也沒有先進的linq理解來結合我迄今發現的這些解決方案。LINQ與GROUP BY和與民(串)HAVING子句
我有一個SQL查詢是這樣的:
select client_id
from my_table /* Column1 : client_id, Column2 : _month */
group by client_id
having min(_month) = '2009-11'
我的問題是:我怎樣才能轉換此查詢到C#LINQ?。 到目前爲止,我寫了這樣的事情,但它並沒有給我有什麼有:
var query = dataTable.AsEnumerable() // This is my_table
.GroupBy(c => c.Field<Int32>("client_id"))
.Select(g => new
{
g.Key,
minMonth = g.Min(c => c.Field<string>("_month"))
})
.Where(d => d.minMonth == "Some String like '2009-11'");
它實際上是給了我這個SQL的結果我並不需要:
select client_id, min(_month)
from my_table
where _month = '2009-11'
group by client_id
注意:_month是一個格式爲YYYY-MM的字符串。
感謝編輯@Pieter Geerkens –
爲什麼要從字符串解析左日期時間而不是直接構造它? – abatishchev
@abatishchev夠公平的,也可以直接完成。我會更新我的答案,以包括這一點。 '_month'是我理解的一個字符串,因此必須進行解析。 –