IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Créer une requête complexe


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 19
    Par défaut Créer une requête complexe
    Bonjour,

    J'ai actuellement 2 requêtes COUNT(*) sur une même table, comptant deux colonnes différentes et ayant une colonne en commun.

    Je souhaiterais créer une seule requête ayant les 3 colonnes (la colonne identique et le résultat de chacun des COUNT).

    Requête1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT SUBSTRING(`dateCreateUser`, 1, 10) AS "Jour", COUNT(*) AS "Nombre d'inscriptions"
    FROM `facebookAppQuizz_users`
    GROUP BY SUBSTRING(`dateCreateUser`, 1, 10)
    ORDER BY `dateCreateUser`
    Requête2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT SUBSTRING(`dateLastConnection`, 1, 10) AS "Jour", COUNT(*) AS "Nombre de visiteurs n'etant pas venu depuis"
    FROM `facebookAppQuizz_users`
    GROUP BY SUBSTRING(`dateLastConnection`, 1, 10)
    ORDER BY `dateLastConnection`
    Note: "dateCreateUser" et "dateLastConnection" sont des champs Timestamp dont tous les jours sont pris (enfin il n'y a pas de trou).

    J'avais tenté un mix de ce genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT `dateCreateUser` , COUNT( `dateCreateUser` ) AS "Nombre d'inscriptions", COUNT( dateLastConnection ) AS "Nombre de questions"
    FROM `facebookAppQuizz_users`
    GROUP BY day( `dateCreateUser` )
    ORDER BY `dateCreateUser`
    Mais je crois que l'on ne peut pas faire deux COUNT différents sur une même requête car mes deux colonnes ont les mêmes chiffres.

    Quelqu'un voit-il un moyen de faire ? De préférence en SQL, ou en PL/SQL mais je préfèrerais le premier

    Merci beaucoup,
    F2000

    PS: Un exemple de ce que je reçoit pour mes requêtes:

    Requête1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Jour   		Nombre d'inscriptions
    2009-03-25  	78
    2009-03-24 	83
    2009-03-23 	63
    2009-03-22 	58
    Requête2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Jour   		Nombre de visiteurs n'etant pas venu depuis
    2009-03-25  	1128
    2009-03-24 	1248
    2009-03-23 	588
    Et je souhaiterais avoir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Jour 		Nombre d'inscriptions 		Nombre de visiteurs...
    2009-03-25 	78				1128
    ...

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    tu devrai regarder du côté de WITH ROLLUP
    http://dev.mysql.com/doc/refman/5.0/...modifiers.html
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 19
    Par défaut
    Ok je vais regarder ça.

    J'avais pensé aussi faire une table temporaire pour stocker mes colonnes mais je sais pas si ça me permet de faire ce que je veux, ni comment l'on peut nommer une colonne COUNT(*) (pour la rappeler après), le AS "Nom" suffit-il ?

    Merci en tout cas.

Discussions similaires

  1. [SQL] Créer une requête de sélection quelque peu complexe
    Par Emotion dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/10/2007, 20h36
  2. [ABAP] Comment créer une requête avec jointure
    Par roadster62 dans le forum SAP
    Réponses: 1
    Dernier message: 21/02/2006, 16h04
  3. Aide pour écrire une requête complexe
    Par julienbdx dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 29/11/2005, 16h58
  4. [HTTP]Créer une requête http multipart/related
    Par jothi35 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 05/04/2005, 15h32
  5. Encore une requête complexe sur plusieurs tables
    Par DenPro dans le forum Langage SQL
    Réponses: 5
    Dernier message: 09/12/2003, 19h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo