2010-05-12 2 views
1

누군가 다음 SQL 쿼리를 LINQ로 변환 할 수 있습니까?LINQ 질문하기 도움말!

select 
    convert(varchar(10),date,110) as 'Date', 
    max(users) as 'Maximum Number of Users', 
    max(transactions) as 'Maximum Number of Transactions' 
from 
    stats 
where 
    datepart(Year, Date) = '2010' 
group by 
    convert(varchar(10),date,110) 
order by 
    convert(varchar(10),date,110) 

감사합니다.

답변

0

그것은 당신이 제공 한 제한된 정보에서 이야기하기는 어렵습니다하지만이 일을 할 수 있습니다

var results = from stat in db.Stats 
       group stat by stat.Date.Date into statGroup 
       orderby statGroup.Key 
       select new 
       { 
       Date = statGroup.Key, 
       MaximumNumberOfUsers = statGroup.Max(c => c.Users), 
       MaximumNumberOfTransactions = statGroup.Max(c => c.Transactions) 
       }; 
+0

DateTime.ToString()가 L2E에서 지원되지 않습니다. 하지만 어쨌든 정말 필요하다고 생각하지 않습니다. –

+0

빠른 응답을 보내 주셔서 감사합니다. Linqpad에서이 쿼리를 실행하여이 오류가 발생했습니다. 메서드 "System.String ToString (System.String) '에 SQL로 지원되는 변환이 없습니다". 날짜 필드에는 날짜와 시간이 모두 있습니다. 나는 groupby를 날짜별로, 오직 시간별로 만보고 싶습니다. 어떻게 할 수 있는지 잘 모르겠습니다. – rk1962

+0

편집 된 버전이 작동합니까 (ToString 메서드 대신 Date 속성 사용)? 죄송합니다, 지금이 방법을 테스트 할 방법이 없습니다. –