3
에 의해
그룹과 예제가 있습니다
- 카운트 또는 웹에서 LINQ으로 최소 날짜을 선택하지만 특정 솔루션을 찾을 수 없습니다 가진 은 내 질문에. 또한 나는 지금까지 발견 한 이러한 솔루션을 결합 할 수있는 고급 linq 이해가 없다.그룹으로와 LINQ와 최소 (문자열)을 갖는 제
select client_id
from my_table /* Column1 : client_id, Column2 : _month */
group by client_id
having min(_month) = '2009-11'
내 질문한다 : 어떻게 C#을 LINQ에이 쿼리 변환 할 수 있습니다
나는이 같은 SQL 쿼리가?. 은 지금까지 나는 이런 식으로 뭔가를 썼다하지만 내가 가지고 무엇을 제공하지 않습니다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 편집 주셔서 감사합니다 –
문자열을 직접 생성하지 않고 왼쪽 datetime을 구문 분석하는 이유는 무엇입니까? – abatishchev
@abatishchev 충분히 공정하게 직접 수행 할 수도 있습니다. 나는 그것을 포함하도록 내 대답을 업데이트 할 것이다. '_month'는 제가 이해하는 문자열입니다. 그래서 파싱되어야합니다. –