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

Das gibt:SQL erhalten einzigartigen Monat Jahr Combos

11 | 2010

11 | 2010

11 | 2010

12 | 2010

12 | 2010

Aber ich brauche es nur jede Instanz zurück einmal, IE:

11 | 2010

12 | 2010

Wenn das Sinn macht!

Antwort

3

Folgendes sollte das sein, was Sie wollen:

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

im Allgemeinen müssen Sie group by jeden Nicht-Aggregat Spalte, die Sie auswählen. Einige DBMS, wie beispielsweise Oracle, erzwingen dies, d. H., Dies nicht zu tun, führt eher zu einem Fehler als zu einer "merkwürdigen" Abfrageausführung.

0

Versuchen:

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