[Access] Clause GROUP BY avec une date
Bonjour, j'ai cette requête ci:
Code:
1 2 3 4 5 6 7
|
SELECT cp.ArrondissementCp, cp.debutCp, b.dateSaisieBillet
FROM Billet AS b
INNER JOIN (CodePostaux AS cp)
ON (b.codeCpBillet = cp.idCp)
WHERE cp.arrondissementCp = 'PAT'
GROUP BY cp.arrondissementCp, cp.debutCp, YEAR(b.dateSaisieBillet) |
Mais j'ai une erreur: b.dateSaisieBillet n'est pas utilisé dans la fonction d'agrégat.
Est-ce que cela veut dire que je dois absolument grouper par b.dateSaisieBillet et que le Year(b.dateSaisieBillet) n'est possible que dans le WHERE?
Si je veux grouper par l'année, le mois et le jour, ya-t-il une façon de faire?
Merci
Re: [SQL] Clause GROUP BY avec une date
Citation:
Envoyé par Kanie
Code:
1 2 3 4 5 6 7
|
SELECT cp.ArrondissementCp, cp.debutCp, b.dateSaisieBillet
FROM Billet AS b
INNER JOIN (CodePostaux AS cp)
ON (b.codeCpBillet = cp.idCp)
WHERE cp.arrondissementCp = 'PAT'
GROUP BY cp.arrondissementCp, cp.debutCp, YEAR(b.dateSaisieBillet) |
Mais j'ai une erreur: b.dateSaisieBillet n'est pas utilisé dans la fonction d'agrégat.
Est-ce que cela veut dire que je dois absolument grouper par
b.dateSaisieBillet et que le Year(b.dateSaisieBillet) n'est possible que dans le WHERE?
Si je veux grouper par l'année, le mois et le jour, ya-t-il une façon de faire?
Bonjour,
Quel est le SGBD ?
Sinon, il faut que les zones du select soient dans le group by à l'exception des fonctions telles SUM, AVG, COUNT, ....
Pour grouper par année, mois, jour la date ne fait pas l'affaire ?
Re: [Access] Clause GROUP BY avec une date
essaye ca si tu n'a besoin que d'un regroupement par mois (c'est à dire que ce soit janvier 2005 ou 2006, tu t'en fiche):
Code:
1 2 3 4 5 6 7
|
SELECT cp.ArrondissementCp, cp.debutCp, YEAR(b.dateSaisieBillet) as mois
FROM Billet AS b
INNER JOIN (CodePostaux AS cp)
ON (b.codeCpBillet = cp.idCp)
WHERE cp.arrondissementCp = 'PAT'
GROUP BY cp.arrondissementCp, cp.debutCp, mois |
ou, ce qui revient au même :
Code:
1 2 3 4 5 6
|
SELECT distinct cp.ArrondissementCp, cp.debutCp, YEAR(b.dateSaisieBillet)
FROM Billet AS b
INNER JOIN (CodePostaux AS cp)
ON (b.codeCpBillet = cp.idCp)
WHERE cp.arrondissementCp = 'PAT' |
++