2011-01-04 2 views
2
SELECT  MONTH(sessionStart) AS Expr1, YEAR(sessionStart) AS Expr2 
FROM   tblStatSessions 
WHERE  (projectID = 187) 
GROUP BY sessionStart 

이 반환SQL 얻을 고유 한 달 년 콤보

11 | 2010

11 | 2010

11 | 2010

12 | 2010

12 | 2010

그러나 나는 한 번만 각 인스턴스를 반환해야, IE :

11 | 2010

12 | 2010

그럴만 한 이유가 있습니다.

답변

3

다음은 당신이 원하는해야한다 : 일반적으로

SELECT  MONTH(sessionStart) AS Expr1, YEAR(sessionStart) AS Expr2 
FROM   tblStatSessions 
WHERE  (projectID = 187) 
GROUP BY MONTH(sessionStart), YEAR(sessionStart) 

당신이 group by에 당신이 선택하는 모든 비 집계 열을 필요로한다. Oracle과 같은 일부 DBMS는 이것을 시행합니다. 즉, '이상한'쿼리 실행이 아닌 오류가 발생합니다.

0

시도 :

SELECT  MONTH(sessionStart) AS Expr1, YEAR(sessionStart) AS Expr2 
FROM   tblStatSessions 
WHERE  (projectID = 187) 
GROUP BY Expr1