목록
반응형
C#/LINQ (
반응형
5)
개발꿈나무
[Linq] GROUP BY - Week of YEAR (주별 group by) Blazor에서 수정날짜 데이터를 이용하여 주별로 group by를 수행해야 한다. 또한 현재 날짜를 기준으로 하여 1년 전부터 총 52주의 데이터가 나오도록 lotation을 돌려야 한다. 즉, 1년전의 오늘부터 1주 hyokye0ng.tistory.com 저번에 Linq에서 주별로 GROUP BY 하는 포스팅을 했었다. 예전 포스팅은 오늘 날짜를 기준으로 요일을 따지지 않고, 그냥 7일씩 끊어 GROUP BY를 수행하였다. 이번에는 월요일부터 일요일까지를 한 주로 보고 GROUP BY를 수행했다. 오늘부터 1년 전의 날짜를 startDate로 저장하고 startDate가 월요일이 아니라면 하루씩 빼서 월요일이 되도록 했다..
Blazor에서 수정날짜 데이터를 이용하여 주별로 group by를 수행해야 한다. 또한 현재 날짜를 기준으로 하여 1년 전부터 총 52주의 데이터가 나오도록 lotation을 돌려야 한다. 즉, 1년전의 오늘부터 1주일이 1주차가 되고 최근 1주일이 52주차가 되는 것이다. 최종 코드는 다음과 같다. private List DcnGroupbyQuery(IEnumerable dcns) { DateTime startDate = DateTime.Today.AddDays(-365); var query = (from dcn in dcns.Where(f => Convert.ToInt32(f.MODIFIED_DATE.ToString("yyyyMMdd")) > Convert.ToInt32(startDate.ToStr..
[C#] Linq - Group by Group by 내가 필요했던 쿼리는 최근 며칠동안의 생성날짜(created_date)별 DCN의 갯수이다. created_date는 날짜뿐만 아니라 시간까지 저장되어 있다. 그래서 created_date.ToString("yyyyMMdd")를 통해 날짜만.. hyokye0ng.tistory.com 지난 포스팅에서 Group by, Join에 대해 알아보았다. 이번에는 Group by를 수행한 테이블과 다른 테이블을 Join해보자! Groupby + Join 최종적으로 내가 필요한 쿼리는 GroupBy를 수행한 테이블과 다른 테이블을 Join하는 것이었다. 처음에는 GroupBy를 먼저 수행하려고 했다가 엄청난 삽질을 했다. 결국 내가 찾아낸 로직은 Join을 먼저 ..
[C#] Linq - Group by Group by 내가 필요했던 쿼리는 최근 며칠동안의 생성날짜(created_date)별 DCN의 갯수이다. created_date는 날짜뿐만 아니라 시간까지 저장되어 있다. 그래서 created_date.ToString("yyyyMMdd")를 통해 날짜만.. hyokye0ng.tistory.com 이전 포스팅에서 Group by에 대해 알아보았다. 이번에는 Join에 대해 알아보자! Join 가장 기본적인 Join은 다음과 같다. A와 B를 id라는 컬럼을 기준으로 조인하여 join_group에 저장하는 코드이다. var query = from a in A join b in B on a.id equals b.id into join_group select new { ..
Group by 내가 필요했던 쿼리는 최근 며칠동안의 생성날짜(created_date)별 DCN의 갯수이다. created_date는 날짜뿐만 아니라 시간까지 저장되어 있다. 그래서 created_date.ToString("yyyyMMdd")를 통해 날짜만 뽑아냈고, Convert.ToInt32()를 통해 숫자로 변환하여 최근 며칠 이내인지 체크했다. 그런 다음 group by를 통해 날짜별로 그룹화를 수행하여 dcn_group에 저장했고, dcn_group을 이용하여 DateDcn 객체를 만들었다. SQL에서도 그렇듯 Groupby를 수행하면 groupby절에 있는 컬럼만 select 가능하다. groupby절의 컬럼은 Key로 저장되어 있다. 하지만 나는 groupby절에 존재하지 않는 컬럼도 sel..