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 :

Afficher 10 entretiens par pays


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Par défaut Afficher 10 entretiens par pays
    Bonjour a tous,

    J'ai créé une requéte qui me permet de savoir pour chaque pass, l'heure de debut et de fin et l'intervalle de temps que je tri par country.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT Login.Pass, Country, DatedebS, DatefinS, TIMEDIFF(STR_TO_DATE(DatefinS,'%m/%d/%Y %H:%i:%s'),STR_TO_DATE(DatedebS,'%m/%d/%Y %H:%i:%s')) AS Difference
    FROM Login, Detail
    WHERE Terminate="success" and StateID=-2 And Login.Pass=Detail.Pass AND HOUR(TIMEDIFF(STR_TO_DATE(DatefinS,'%m/%d/%Y %H:%i:%s'),STR_TO_DATE(DatedebS,'%m/%d/%Y %H:%i:%s')))<1 AND MINUTE(TIMEDIFF(STR_TO_DATE(DatefinS,'%m/%d/%Y %H:%i:%s'),STR_TO_DATE(DatedebS,'%m/%d/%Y %H:%i:%s')))>30
    ORDER BY Country;
    JE voudrais limiter les affichages a 10 par Country ( 10 affichage france, 10 affichage UK, etc...) mais je vois pas du tou comment modifier ma requete pour y arriver.

    Pouvez-vous m'aider

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 065
    Par défaut
    Bonjour,

    Tout simplement avec le mot clef LIMIT à la fin de la requête.
    C'est dans la FAQ : LIMIT

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre éclairé Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Par défaut
    Eun non, car si je met limit 10 à la fin, il va m'afficher les 10 premiers alors que moi je veut qu'il m'affiche les 10 premiers mais pour chaque pays (10 France, 10UK, 10 Germany, ...) sachant que pour chaque pays j'ai a peu prés une vingtaine d'enregistrement

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 065
    Par défaut
    Autant pour moi, j'ai pas bien lu...
    Quelle est ta version de MySQL (pour savoir si il autorise les sous-requêtes) ?

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Membre éclairé Avatar de dragonfly
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    464
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 464
    Par défaut
    Euh la version je sais pas trop (tu la voit comment sous linux?), mais il accepte des sous requetes (j'en fais souvent)

  6. #6
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 065
    Par défaut
    OK, donc tu es en version supérieur à 4.1. Tant mieux, parce que sinon, c'était pas possible.
    Comme je ne sais pas quel champ est dans quelle table (notamment Country et DateDebS), je te donne le principe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT *
    FROM   T AS x
    WHERE  (SELECT count(*)
            FROM   T AS y
            WHERE  x.col1 = y.col1
            AND    x.col2 > y.col2) < 10
    ORDER BY ... ;
    Dans ton cas, col1 est Country et col2 est DateDebS ou Pass (bref, le champ sur lequel tu souhaites faire le choix des 10 lignes à afficher, donc la DateDebS si c'est pour avoir les 10 plus récentes). Attention, en fonction de ce choix, tu peux être amené à changer le sens de l'inégalité.
    Il te faut remplacer T par la jointure et x et y par la (voire les) bonne(s) table(s).
    En espérant que ça t'aide...

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 21/05/2005, 14h32
  2. [dblookup] afficher une valeur par programmation
    Par let_me_in dans le forum Bases de données
    Réponses: 1
    Dernier message: 11/05/2005, 14h42
  3. [W3C] Est-il possible d'afficher un div par dessus une applet ?
    Par drinkmilk dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 23/02/2005, 10h22
  4. Réponses: 1
    Dernier message: 16/02/2005, 12h04
  5. Afficher une fenetre par rapport a une autre
    Par luffy0013 dans le forum MFC
    Réponses: 4
    Dernier message: 14/02/2005, 21h16

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