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 :

Problème Limit in subquery !


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Février 2011
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 9
    Par défaut Problème Limit in subquery !
    Bonjour,
    Mon script est censé récupérer toutes les informations sur des sauvegardes sur 14 jours. Mais attention une sauvegarde peut comporter plusieurs services à l'intérieur. Je m'explique :

    9 février -Service 1 : 15 Mo
    9 février -Service 2 : 20 Mo

    8 février -Service 1 : 35 Mo
    8 février -Service 2 : 25 Mo

    je veux donc récupérer toutes les informations sur 14 jours.
    J'ai tenté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Select * from backup_det where id_client=240 and date in(
    select date from backup_det where id_client=240 group by date order by date desc limit 0,14)
    Mais j'obtiens le message d'erreur suivant : #1235 - This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'

    Merci !

  2. #2
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    En évitant la guerre des étoiles , pourquoi ne pas faire directement cette requête ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT les_colonnes_necessaires_et_pas_etoile 
    FROM backup_det 
    WHERE id_client=240 
    ORDER BY date DESC 
    LIMIT 0,14
    Et vu le message d'erreur, quelle est la version de MySQL utilisée ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre habitué
    Inscrit en
    Février 2011
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 9
    Par défaut
    Merci de la réponse,
    Je n'ai pas essayer sans l'étoile car il me faut tout les champs et ta limit 0,14 ne marchera pas car plusieurs services ont la même date car ils appartiennent à la même sauvegarde. Donc au final s'il y a 14 services pour la même sauvegarde, je n'aurai que les résultats d'une sauvegarde et non des 14 dernières.
    Oui c'est un poil complexe ^
    Mais j'ai réussi à trouver une autre solution.
    je récupère le jour de la 14ème sauvegarde pour faire un between.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    SELECT MIN( t.date )  as date
    			FROM (
    			SELECT DATE
    			FROM backup_det
    			WHERE id_client =240
    			GROUP BY DATE
    			ORDER BY DATE DESC 
    			LIMIT 0 , 14) as t;";
    Puis je fais mon between avec la valeur stocké dans une variable.
    NB : Version du client MySQL: 5.1.41

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

Discussions similaires

  1. Problème limite string 255
    Par Zoro63 dans le forum VBScript
    Réponses: 1
    Dernier message: 08/04/2009, 18h22
  2. Problème limite time
    Par FidoDido® dans le forum C
    Réponses: 5
    Dernier message: 06/06/2008, 21h12
  3. Problème limitation Framerate (2D)
    Par Zacks dans le forum API graphiques
    Réponses: 4
    Dernier message: 07/03/2007, 19h14
  4. [RegEx] [Problème] Limiter une chaine
    Par AnGe7s dans le forum Langage
    Réponses: 10
    Dernier message: 21/08/2006, 01h09
  5. Réponses: 29
    Dernier message: 26/06/2006, 12h17

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