2014-02-26 1 views
0

select 절에없는 열을 기준으로 정렬 할 수없는 문제를 해결할 수있는 방법이 있습니까? 나는 달과 년 grabe에 datename을 사용하고 있지만, 나는 알파벳순으로 실제 날짜별로 정렬해야합니다.select 절에없는 열로 정렬하는 방법?

select datename(month, dbo.ITR.ITR_TransDate) as MonthDt, 
     DATENAME(year, dbo.itr.ITR_TransDate) as YearDt, COUNT(distinct dbo.ITR.ITR_Reason) AS WKCount, COUNT(dbo.itr.itr_reason) AS LineCt 
     from dbo.ITR 
where (ITR_EmployeeID IN (N'robra', N'lewer', N'petam', N'whike', N'mclch', N'ricju')) AND (dbo.ITR.ITR_TransDate >= '1/1/13' AND dbo.itr.ITR_TransDate <= '1/31/14') AND 
    (dbo.itr.ITR_Reason LIKE 'WO%' OR dbo.itr.ITR_Reason LIKE 'RW%') 
group by DATENAME(year, dbo.itr.ITR_TransDate), datename(month, dbo.ITR.ITR_TransDate), MONTH(dbo.itr.itr_transdate) 
order by dbo.ITR.ITR_TransDate 

내가 쓴 주문은 그룹 또는 집계에 실패한 것입니다. 나는 b/c에 그것을 추가 할 수 없다. 반환 할 많은 날짜가있다.

답변

3

당신은 방금 order by에 집계 함수를 사용할 수 있습니다

order by min(dbo.ITR.ITR_TransDate) 

이 귀하의 경우에 작동합니다.

+0

이 정확하게 일을 시도! 나는 이것을 시도했지만 내가 주문보다는 오히려 선택에 넣고 있다고 생각. – jballard81

2

예상대로이

select datename(month, dbo.ITR.ITR_TransDate) as MonthDt, 
    DATENAME(year, dbo.itr.ITR_TransDate) as YearDt, COUNT(distinct dbo.ITR.ITR_Reason) AS WKCount, COUNT(dbo.itr.itr_reason) AS LineCt 
    from dbo.ITR 
where (ITR_EmployeeID IN (N'robra', N'lewer', N'petam', N'whike', N'mclch', N'ricju')) AND (dbo.ITR.ITR_TransDate >= '1/1/13' AND dbo.itr.ITR_TransDate <= '1/31/14') AND 
(dbo.itr.ITR_Reason LIKE 'WO%' OR dbo.itr.ITR_Reason LIKE 'RW%') 
group by DATENAME(year, dbo.itr.ITR_TransDate), datename(month, dbo.ITR.ITR_TransDate), MONTH(dbo.itr.itr_transdate) 
order by DATENAME(year, dbo.itr.ITR_TransDate), MONTH(dbo.itr.itr_transdate) 
관련 문제