Besoin d'aide pour une requête SQL
Fermé
romain_natiez
Messages postés
179
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
22 février 2006
-
15 juin 2004 à 16:37
Tazounet Messages postés 12 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 1 juillet 2004 - 16 juin 2004 à 15:54
Tazounet Messages postés 12 Date d'inscription mardi 15 juin 2004 Statut Membre Dernière intervention 1 juillet 2004 - 16 juin 2004 à 15:54
A voir également:
- Besoin d'aide pour une requête SQL
- Erreur lors de l'envoi de la requête facebook marketplace - Forum Facebook
- Sql server recovery - Télécharger - Gestion de données
- Il y a eu un problème avec cette requête. nous travaillons à sa résolution aussi vite que nous le pouvons. - Forum Facebook
- Logiciel sql - Télécharger - Bases de données
- Requête sql doublons sur 2 champs ✓ - Forum Programmation
13 réponses
dedale82
Messages postés
403
Date d'inscription
jeudi 15 avril 2004
Statut
Membre
Dernière intervention
28 octobre 2008
282
15 juin 2004 à 16:41
15 juin 2004 à 16:41
Salut,
si c'est simplement une requete sql c'est : select * from nom_de_table where date>='01/01/annee' and date<='31-12-annee';
Si tu fais ca avec un formulaire php cf :
http://www.commentcamarche.net/forum/affich-811023-conseil-pour-creation-d%27un-site
si c'est simplement une requete sql c'est : select * from nom_de_table where date>='01/01/annee' and date<='31-12-annee';
Si tu fais ca avec un formulaire php cf :
http://www.commentcamarche.net/forum/affich-811023-conseil-pour-creation-d%27un-site
Tazounet
Messages postés
12
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
1 juillet 2004
15 juin 2004 à 22:03
15 juin 2004 à 22:03
Je ne pense pas que cela réponde à la question...
Ton exemple de requête dedale ne fais que retourner tous les documents d'une année...
Ce que veux Romain, c'est savoir combien de documents sont dénombrés et ce par année...
Et là c'est plus rusé...
Déja Romain dans ta requête tu fais un count sur un champ unique ensuite le truc c'est de faire un alias sur ton champ date en convertissant le type date longue en date avec année ou en récupérant les 4 derniers caractères peu importe le but étant de pouvoir faire un regroupement sur l'année.
Et avec ça tu devrais pouvoir récupérer le nombre total de documents par année :o)
Ton exemple de requête dedale ne fais que retourner tous les documents d'une année...
Ce que veux Romain, c'est savoir combien de documents sont dénombrés et ce par année...
Et là c'est plus rusé...
Déja Romain dans ta requête tu fais un count sur un champ unique ensuite le truc c'est de faire un alias sur ton champ date en convertissant le type date longue en date avec année ou en récupérant les 4 derniers caractères peu importe le but étant de pouvoir faire un regroupement sur l'année.
Et avec ça tu devrais pouvoir récupérer le nombre total de documents par année :o)
romain_natiez
Messages postés
179
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
22 février 2006
31
16 juin 2004 à 13:51
16 juin 2004 à 13:51
je vous remercie tous les deux !
ca fait vraiment plaisir de voir que desgens s'interressent et s'investissent dans les problèmes des autres !
(c'est la première fois que je demande de l'aide sur un forum!)
Je vais essayer vos propositions et je vous dirais quoi .
Merci encore !!!
ca fait vraiment plaisir de voir que desgens s'interressent et s'investissent dans les problèmes des autres !
(c'est la première fois que je demande de l'aide sur un forum!)
Je vais essayer vos propositions et je vous dirais quoi .
Merci encore !!!
romain_natiez
Messages postés
179
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
22 février 2006
31
16 juin 2004 à 14:19
16 juin 2004 à 14:19
Dedale82, je suis allé sur le lien, mais j'ai pas tout compris,
le php, c'est quoi ? ca marche avec Access ?
Tazounet, pour
faire un alias sur le champ date en convertissant le type date longue en date avec année ou en récupérant les 4 derniers caractères, on fait comment ?
Désolé pour vous deux mais je galère, je connais que le VB 8-(
le php, c'est quoi ? ca marche avec Access ?
Tazounet, pour
faire un alias sur le champ date en convertissant le type date longue en date avec année ou en récupérant les 4 derniers caractères, on fait comment ?
Désolé pour vous deux mais je galère, je connais que le VB 8-(
Tazounet
Messages postés
12
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
1 juillet 2004
16 juin 2004 à 14:47
16 juin 2004 à 14:47
Bon alors pour récupérer l'année tu peux faire par exemple:
- Appelons MaDate ton champ au format JJ/MM/AAAA dans ta table MaTable.
SELECT SUBSTRING(CONVERT(VARCHAR(10),MaDate, 102),1,4) FROM MaTable
La fonction CONVERT(Format,Expr, Style) a 3 arguments:
- Format: Le type dans lequel tu souhaites convertir Expr.
- Expr: le champ ou expression à convertir
- Style: dans le cas présent le style de sortie pour une entrée de type DATETIME avec en sortie un VARCHAR est 102 -> yyyy.mm.dd
La fonction SUBSTRING(Expr,PositionDépart,Longueur) a 3 arguments:
- Expr : La chaine de caractère dans laquelle tu veux récupérer une partie
- PositionDépart : un entier correspondant à la position du 1er caractère que tu veux récupérer
-Longueur : un entier correspondant au nombre de caractère que tu veux récupérer à la suite.
Voilà :o)
Et si tu veux rajouter un alias alors il faut mettre qq chose comme ça :
SELECT SUBSTRING(CONVERT(VARCHAR(10),MaDate, 102),1,4) AS Annee FROM MaTable
- Appelons MaDate ton champ au format JJ/MM/AAAA dans ta table MaTable.
SELECT SUBSTRING(CONVERT(VARCHAR(10),MaDate, 102),1,4) FROM MaTable
La fonction CONVERT(Format,Expr, Style) a 3 arguments:
- Format: Le type dans lequel tu souhaites convertir Expr.
- Expr: le champ ou expression à convertir
- Style: dans le cas présent le style de sortie pour une entrée de type DATETIME avec en sortie un VARCHAR est 102 -> yyyy.mm.dd
La fonction SUBSTRING(Expr,PositionDépart,Longueur) a 3 arguments:
- Expr : La chaine de caractère dans laquelle tu veux récupérer une partie
- PositionDépart : un entier correspondant à la position du 1er caractère que tu veux récupérer
-Longueur : un entier correspondant au nombre de caractère que tu veux récupérer à la suite.
Voilà :o)
Et si tu veux rajouter un alias alors il faut mettre qq chose comme ça :
SELECT SUBSTRING(CONVERT(VARCHAR(10),MaDate, 102),1,4) AS Annee FROM MaTable
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
romain_natiez
Messages postés
179
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
22 février 2006
31
16 juin 2004 à 14:54
16 juin 2004 à 14:54
J'avais essayé ca :
SELECT COUNT(Nom_Fichier)
FROM CONSIGNE
GROUPBY Year(Date_Creation)
mais ca marche pa, j'ai trouivé un site avec toutes les fonctions SQL : http://sqlpro.developpez.com/SQL_AZ_F.htm
il a l'air pas mal.
je vais essayer ta technique, merci encore!
SELECT COUNT(Nom_Fichier)
FROM CONSIGNE
GROUPBY Year(Date_Creation)
mais ca marche pa, j'ai trouivé un site avec toutes les fonctions SQL : http://sqlpro.developpez.com/SQL_AZ_F.htm
il a l'air pas mal.
je vais essayer ta technique, merci encore!
Tazounet
Messages postés
12
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
1 juillet 2004
16 juin 2004 à 14:59
16 juin 2004 à 14:59
Mais de rien :)
J'ai testé sur une de mes bases pour compter le nombre d'enregistrement trier par année et ça fonctionne bien (mais faut pas oublier de rajouter le COUNT et le GROUP BY)
:o)
Bon courage
J'ai testé sur une de mes bases pour compter le nombre d'enregistrement trier par année et ça fonctionne bien (mais faut pas oublier de rajouter le COUNT et le GROUP BY)
:o)
Bon courage
romain_natiez
Messages postés
179
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
22 février 2006
31
16 juin 2004 à 15:04
16 juin 2004 à 15:04
le VARCHAR(10), c'est quoi exactement ?
car si je comprend bien c'est un format ?
car si je comprend bien c'est un format ?
Tazounet
Messages postés
12
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
1 juillet 2004
16 juin 2004 à 15:05
16 juin 2004 à 15:05
Wép c'est une chaîne de caractère variable de 10 caractères maxi
romain_natiez
Messages postés
179
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
22 février 2006
31
16 juin 2004 à 15:12
16 juin 2004 à 15:12
ok merci, mais ma requête :
SELECT COUNT(Nom_Fichier), SUBSTRING(CONVERT(VARCHAR(10),Date_Creation, 102),1,4) AS Annee
FROM CONSIGNE
GROUPBY Annee
elle marche pas 8-(
acces me dit qu'il y a une erreur ds la clause FROM et il surligne Annee dans le group by
SELECT COUNT(Nom_Fichier), SUBSTRING(CONVERT(VARCHAR(10),Date_Creation, 102),1,4) AS Annee
FROM CONSIGNE
GROUPBY Annee
elle marche pas 8-(
acces me dit qu'il y a une erreur ds la clause FROM et il surligne Annee dans le group by
romain_natiez
Messages postés
179
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
22 février 2006
31
16 juin 2004 à 15:14
16 juin 2004 à 15:14
le groupby je devais l'écrire GROUP BY
mais il me dit que la fonction SUBSTRING est non définie dans l'expression
mais il me dit que la fonction SUBSTRING est non définie dans l'expression
Tazounet
Messages postés
12
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
1 juillet 2004
16 juin 2004 à 15:32
16 juin 2004 à 15:32
ah.... tu attaques une base ACCESS c'est ça ???
Peut être que ce n'est pas une instruction valide pour une base ACCESS :o)
Vi j'avais oublié le " " ds le GROUP BY désolé...
Atta je regarde comment ça se passe avec une base ACCESS
Peut être que ce n'est pas une instruction valide pour une base ACCESS :o)
Vi j'avais oublié le " " ds le GROUP BY désolé...
Atta je regarde comment ça se passe avec une base ACCESS
romain_natiez
Messages postés
179
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
22 février 2006
31
16 juin 2004 à 15:48
16 juin 2004 à 15:48
j'ai trouvé !!!!
ca marche !!!
YOUHOUUUUUUUUUU!
voilà la requête
SELECT Year(C.Date_Creation) AS Annee, Count(C.Nom_Fichier) AS CompteDeNom_Fichier
FROM CONSIGNE AS C
GROUP BY Year(C.Date_Creation);
je suis hyper content! beuarhg!
merci encore pour tout!
ca marche !!!
YOUHOUUUUUUUUUU!
voilà la requête
SELECT Year(C.Date_Creation) AS Annee, Count(C.Nom_Fichier) AS CompteDeNom_Fichier
FROM CONSIGNE AS C
GROUP BY Year(C.Date_Creation);
je suis hyper content! beuarhg!
merci encore pour tout!
Tazounet
Messages postés
12
Date d'inscription
mardi 15 juin 2004
Statut
Membre
Dernière intervention
1 juillet 2004
16 juin 2004 à 15:54
16 juin 2004 à 15:54
Arf :o)))
Les requêtes en ACCESS :o) ya déjà tout de disponible :o)
Les requêtes en ACCESS :o) ya déjà tout de disponible :o)