|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2003 Messages : 46 ![]() |
Bonjour,
j'essaye actuellement de faire des statistiques mois par mois et années par années. normalement la requête SQL devrait être: select count(id), MONTH(date) from table group by MONTH(date); ou encore en passant par substring. cependant il semble que la clause groupby de DB2 n'accepte pas les fonctions. y a t-il un autre moyen de le faire? merci d'avance |
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : février 2007 Messages : 56 ![]() |
tu es sur quel db2 (version), sur quel OS ?
Sur un DB2 UDB 9 (LUW), ta requête est correcte... |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2003 Messages : 46 ![]() |
je suis sous windows xp sp2,
et j'utilise la version 7.0.1.2 de db2. j'ai l'erreur sqlcode = -104, sqlstate=42601 , sqlerrmc: (;for with fetch order union except queryno optimize autant dire du chinois pour moi :-) |
|
|
00
|
|
|
#4 |
![]() ![]() |
Avec la version 8 pour XP cela fonctionne aussi. Je ne peux plus dire pour la 7.
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2003 Messages : 46 ![]() |
arf je pense que je vais être bon pour le coder dans mon programme parce que demander a une administration de changer de version pour une requête ca ne va pas le faire ...
edit: je viens de voir dans les posts en dessous que le group by en version 7 n'accepter pas les fonctions.. j'aurais du mieux lire |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : février 2007 Messages : 56 ![]() |
et en utilisant une table temporaire, quelque chose comme ça :
Code :
WITH temp AS (SELECT month(c2) AS Z1, c1 AS Z2 FROM t4 ) SELECT Z1, count (Z2) FROM temp GROUP BY Z1 |
|
|
00
|
|
|
#7 |
|
Nouveau Membre du Club
![]() Inscription : juillet 2003 Messages : 46 ![]() |
j'ai essayer ca ne fonctionne pas :-(
mais pas grave je vais le programmer c'est pas si complexe :-) et ta solution même si elle fonctionné, m'aurais posé pas mal de problème en terme de généricité. car la mes requête sont construite de manière totalement générique (donc avec une structure de requête bien défini). |
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() Inscription : septembre 2004 Messages : 123 ![]() |
Bonjour,
tu peux essayer : SELECT COUNT(C1), C2 FROM ( SELECT id AS C1, MONTH(DATE) AS C2 FROM table ) Z GROUP BY C2 Alex. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com