|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Nouveau Membre du Club
![]() Inscription : mars 2005 Messages : 162 ![]() |
Bonjour à tous,
J'ai un probleme avec une requete SQL que j'execute su un POstGre 8.1. J'ai une liste contenant le libellé d'un diplome et la date d'obtention (jj/mm/aaaa). Je dois compter par année et par mois le nombre de diplome obtenu, classé par diplome, par année, et par mois. J'ai donc fait : Code :
Citation:
Quelqu'un a une idée ? Merci d'avance |
|||
|
|
00
|
|
|
#2 | ||
|
Membre chevronné
![]() Inscription : octobre 2003 Messages : 668 ![]() |
Si j'ai bien compris, tu veux avoir le nombre de diplomes pour chaque mois?
Si oui essaye ca : Code :
par rapport à ta requete, le probleme est que lorsque tu utilise des fonctions (d'extraction ou autres), il vaut mieux mettre des alias. Ca t'évitera des déconvenues comme celles ci. Et puis, si je me trompe pas, tu faisais un group by su une autre valeur que celle que ton select avait extrait (une "copie") => pas de from dans un group by. ++
__________________
Two beer or not two beer. (Shakesbeer) Question technique par MP => poubelle! |
||
|
|
00
|
|
|
#3 | ||||
|
Invité de passage
![]() maxime gerbe Inscription : mars 2011 Messages : 3 ![]() |
Je cherche à grouper mes moyennes par mois..
J'ai essayé (sous postgresql): Code :
ou bien : Code :
Merci pour votre aide précieuse |
||||
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Frédéric BROUARDExpert SGBDR & SQL Inscription : mai 2002 Messages : 10 959 ![]() |
C'est logique, je pense que vous ne comprenez pas le groupage !
Un groupage est relatif à un calcul d'agrégat. Donc tout ce qui est dans la CLAUSE select, en dehors du calcul d’agrégat (max, min, sum, count...) doit figurer dans le GROUP BY ce qui n'est pas le cas de votre requête.... En effet, MONTH n'est pas une colonne de votre table, ni une expression. De plus grouper par mois sans l'année est généralement stupide... Vous aurez un calcul d'agrégat portant sur les ,mois de janvier de TOUTES les années ! Est-ce bien ce que vous voulez ? Commencez par apprendre SQL. C'est un VRAI langage... Mon site web, comme mes ouvrages peuvent vous y aider ! http://sqlpro.developpez.com/ A +
__________________
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL Site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/ Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp. Blog SQL, SQL Server, modélisation données : http://blog.developpez.com/sqlpro http://www.sqlspot.com : modélisation, conseils, audit, optimisation, formation * * * * * Enseignant CNAM PACA - ISEN Toulon - CESI Aix en Provence * * * * * |
|
00
|
|
|
#5 | ||
|
Invité de passage
![]() maxime gerbe Inscription : mars 2011 Messages : 3 ![]() |
Exact, voici ce que je souhaité faire :
(date est le nom d'une colonne) Code :
|
||
|
|
00
|
|
|
#6 |
![]() ![]() Inscription : octobre 2008 Messages : 1 509 ![]() |
Il faut faire group by extract(month from date) au lieu de group by month.
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com