Requêtes simples MySql
Fermé
arrakis75
Messages postés
101
Date d'inscription
mardi 26 janvier 2010
Statut
Membre
Dernière intervention
22 août 2024
-
8 mars 2012 à 13:32
loicDu28 Messages postés 332 Date d'inscription dimanche 11 janvier 2009 Statut Membre Dernière intervention 2 février 2016 - 13 mars 2012 à 11:39
loicDu28 Messages postés 332 Date d'inscription dimanche 11 janvier 2009 Statut Membre Dernière intervention 2 février 2016 - 13 mars 2012 à 11:39
A voir également:
- Requêtes simples MySql
- Mysql community server - Télécharger - Bases de données
- Mysql gratuit ou payant - Forum MySQL
- Mysql error 1 ✓ - Forum Réseaux sociaux
- Phpmyadmin a tenté de se connecter au serveur mysql, et le serveur a rejeté la connexion. merci de vérifier les valeurs de host, username et password dans la configuration et de s'assurer qu'elles correspondent aux informations fournies par l'administrateur du serveur mysql. ✓ - Forum PHP
- Ce réseau est bloqué en raison de plaintes d'abus non traitées concernant un comportement malveillant. cette page vérifie si c'est bien un humain qui envoie les requêtes et non un robot venant de ce réseau ✓ - Forum Réseaux sociaux
7 réponses
loicDu28
Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
53
13 mars 2012 à 11:39
13 mars 2012 à 11:39
Bonjour,
Le problème doit provenir d'une mauvaise utilisation de la fonction DATE_FORMAT.
Peut-être qu'en premier paramètre, la fonction à besoin d'une date entière dans un format spécifique.
Je te laisse explorer le problème en ce sens.
Cordialement.
Le problème doit provenir d'une mauvaise utilisation de la fonction DATE_FORMAT.
Peut-être qu'en premier paramètre, la fonction à besoin d'une date entière dans un format spécifique.
Je te laisse explorer le problème en ce sens.
Cordialement.
loicDu28
Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
53
8 mars 2012 à 14:09
8 mars 2012 à 14:09
Bonjour,
Ta requête serait de la manière suivante : Il faut compter le nombre de ligne par utilisateur et par page pour une durée donnée (début du mois jusqu'à la fin du mois).
Je te laisse essayer un peu de ton côté et si tu n'y arrive pas, tu me montre ce que tu as fait et j'essayerai de t'aider.
Cordialement.
Ta requête serait de la manière suivante : Il faut compter le nombre de ligne par utilisateur et par page pour une durée donnée (début du mois jusqu'à la fin du mois).
Je te laisse essayer un peu de ton côté et si tu n'y arrive pas, tu me montre ce que tu as fait et j'essayerai de t'aider.
Cordialement.
arrakis75
Messages postés
101
Date d'inscription
mardi 26 janvier 2010
Statut
Membre
Dernière intervention
22 août 2024
8 mars 2012 à 20:21
8 mars 2012 à 20:21
En cherchant une lisibilité dans le résultat, j'ai changé quelques trucs
Résultat voulu
Page, utilisateur, date (mois/année), AdditionVu
page1 userpierre 01-2011 15
page1 userjean 01-2011 9
...
page1 userpierre 02-2011 10
.....
Page2 userjean 01-2011 4
...
Je suis proche du résultat avec ma requete
select ' tstjaction ', 'tstjuser', YEAR(tstjdate), month(tstjdate), sum(tstjaction)
from tbstatjour
WHERE tstjdate >= '2011-01-01'
AND tstjdate <= '2012-02-29'
group by ' tstjaction ', 'tstjuser', YEAR(tstjdate), month(tstjdate)
J'ai un souci sur la date que j'affiche actuellement sur 2 colonnes
Résultat voulu
Page, utilisateur, date (mois/année), AdditionVu
page1 userpierre 01-2011 15
page1 userjean 01-2011 9
...
page1 userpierre 02-2011 10
.....
Page2 userjean 01-2011 4
...
Je suis proche du résultat avec ma requete
select ' tstjaction ', 'tstjuser', YEAR(tstjdate), month(tstjdate), sum(tstjaction)
from tbstatjour
WHERE tstjdate >= '2011-01-01'
AND tstjdate <= '2012-02-29'
group by ' tstjaction ', 'tstjuser', YEAR(tstjdate), month(tstjdate)
J'ai un souci sur la date que j'affiche actuellement sur 2 colonnes
loicDu28
Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
53
8 mars 2012 à 21:46
8 mars 2012 à 21:46
Pour que tu obtienne la date sur une colonne, il faut que tu concataine les 2 colonnes concernant les dates : YEAR(tstjdate), month(tstjdate)
Je te conseil d'aller voir vers la méthode CONCAT.
Je te conseil d'aller voir vers la méthode CONCAT.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
arrakis75
Messages postés
101
Date d'inscription
mardi 26 janvier 2010
Statut
Membre
Dernière intervention
22 août 2024
11 mars 2012 à 12:06
11 mars 2012 à 12:06
Ok merci, j'ai utilisé la fonction CONCAT,
Par contre j'ai mes dates au départ sous forme 2011-01-01, quand je fais CONCAT( (month(tstjdate),YEAR tstjdate)); j'ai en résultat 1/2011 et non 01/2011 .
y-a-t'il un moyen de ce champ comme date (au pire transformer les 1 en Jan, etc... ?
Parce qu'après je l'exporte en Excel.
Par contre j'ai mes dates au départ sous forme 2011-01-01, quand je fais CONCAT( (month(tstjdate),YEAR tstjdate)); j'ai en résultat 1/2011 et non 01/2011 .
y-a-t'il un moyen de ce champ comme date (au pire transformer les 1 en Jan, etc... ?
Parce qu'après je l'exporte en Excel.
loicDu28
Messages postés
332
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
2 février 2016
53
12 mars 2012 à 10:22
12 mars 2012 à 10:22
Bonjour,
Désolé de répondre que maintenant.
Pour résoudre ce problème tu peux essayer :
Je te laisse tester ça.
Cordialement.
Désolé de répondre que maintenant.
Pour résoudre ce problème tu peux essayer :
DATE_FORMAT(CONCAT( (month(tstjdate),YEAR tstjdate)),%m/%Y)
Je te laisse tester ça.
Cordialement.
arrakis75
Messages postés
101
Date d'inscription
mardi 26 janvier 2010
Statut
Membre
Dernière intervention
22 août 2024
12 mars 2012 à 16:56
12 mars 2012 à 16:56
j'ai un résultat bizarre
avec la requête de départ
select 'tstjaction','tstjuser', CONCAT( month(tstjdate), YEAR (tstjdate)) AS DATE, sum(tstjaction) from tbstatjour WHERE 'tstjuser' = "administrateur"
AND tstjdate >= '2011-01-01' AND tstjdate <= '2012-02-29' AND 'tstjaction' = '1'
group by 'tstjaction','tstjuser', YEAR(tstjdate), month(tstjdate)
j'ai le résultat
tstjaction tstjuser DATE sum( tstjaction )
1 administrateur 12011 2
1 administrateur 22011 7
1 administrateur 42011 2
1 administrateur 72011 1
1 administrateur 122011 3
en utilisant DATE_FORMAT
SELECT 'tstjaction' , 'tstjuser' , DATE_FORMAT( CONCAT( month( tstjdate ) , YEAR( tstjdate ) ) , '%m/%Y' ) AS DATE, sum( tstjaction ) FROM tbstatjour WHERE 'tstjuser' = "administrateur" AND tstjdate >= '2011-01-01' AND tstjdate <= '2012-02-29' AND 'tstjaction' = '1' GROUP BY 'tstjaction' , 'tstjuser' , YEAR( tstjdate ) , month( tstjdate )
tstjaction tstjuser DATE sum( tstjaction )
1 administrateur 01/2012 2
1 administrateur 01/2022 7
1 administrateur 01/2042 2
1 administrateur 01/1972 1
1 administrateur NULL 3
une idée sur le problème du champ date (essayer avec %c ou %e idem),
pourquoi il commence par prendre le champs année sur 2 chiffres ?
avec la requête de départ
select 'tstjaction','tstjuser', CONCAT( month(tstjdate), YEAR (tstjdate)) AS DATE, sum(tstjaction) from tbstatjour WHERE 'tstjuser' = "administrateur"
AND tstjdate >= '2011-01-01' AND tstjdate <= '2012-02-29' AND 'tstjaction' = '1'
group by 'tstjaction','tstjuser', YEAR(tstjdate), month(tstjdate)
j'ai le résultat
tstjaction tstjuser DATE sum( tstjaction )
1 administrateur 12011 2
1 administrateur 22011 7
1 administrateur 42011 2
1 administrateur 72011 1
1 administrateur 122011 3
en utilisant DATE_FORMAT
SELECT 'tstjaction' , 'tstjuser' , DATE_FORMAT( CONCAT( month( tstjdate ) , YEAR( tstjdate ) ) , '%m/%Y' ) AS DATE, sum( tstjaction ) FROM tbstatjour WHERE 'tstjuser' = "administrateur" AND tstjdate >= '2011-01-01' AND tstjdate <= '2012-02-29' AND 'tstjaction' = '1' GROUP BY 'tstjaction' , 'tstjuser' , YEAR( tstjdate ) , month( tstjdate )
tstjaction tstjuser DATE sum( tstjaction )
1 administrateur 01/2012 2
1 administrateur 01/2022 7
1 administrateur 01/2042 2
1 administrateur 01/1972 1
1 administrateur NULL 3
une idée sur le problème du champ date (essayer avec %c ou %e idem),
pourquoi il commence par prendre le champs année sur 2 chiffres ?