Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1686 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Probléme sur requete pas simple !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL] Probléme sur requete pas simple !

n°1434120
energiez
Posté le 31-08-2006 à 10:10:32  profilanswer
 

Bonjour.
 
Au premier a bord, ce que je demande parait simple. Mais aprés avoir demandé a 3 personnes, personne ne trouve !
 
Tout d'abord, la structure de ma table :
 
    T_Sondages
---------------
PK | id (int)
FK | magasin (int)
    | date (timestamp en int)
 
 
J'aurai donc besoin de selectionner UNIQUEMENT l'id (puisque ce resultat sera utilisé comme sous requete).
Les contraintes :
 
- SELECTIONNER un sondage par magasin
- Si il y'a plusieurs sondage par magasin, selectionner UNIQUEMENT le sondage le plus ancien (en fonction de la date donc).
 
Ca parait simple au premier abord, mais ce ne l'ai pas, surtout a cause de cette derniéres contraintes !
 
 
Donc si une ame charitable était prête à m'aider, je lui en serai trés reconnaissant :D
 
Merci d'avance.

mood
Publicité
Posté le 31-08-2006 à 10:10:32  profilanswer
 

n°1434123
olivthill
Posté le 31-08-2006 à 10:20:02  profilanswer
 

Essayer

SELECT s1.id
  FROM T_Sondages s1
 WHERE s1.date IN
 (SELECT MAX(s2.date)
    FROM T_Sondages s2
   WHERE s2.magasin = s1.magasin)


Edit : La requête de Betsamee devrait marcher aussi et est peut-être plus performante que la mienne.


Message édité par olivthill le 31-08-2006 à 10:27:29
n°1434124
betsamee
Asterisk Zeperyl
Posté le 31-08-2006 à 10:20:20  profilanswer
 

Code :
  1. SELECT A.id
  2. FROM
  3. (
  4. SELECT T1.id,T1.magasin,MAX(T1.DATE)
  5. FROM T_Sondage T1,T_Sondage T2
  6. WHERE T1.DATE IN (SELECT MAX(DATE) FROM  T_Sondage T2 GROUP by magasin) AND T1.magasin = T2.magasin
  7. GROUP by T1.id,T1.magasin
  8. ORDER BY T1.magasin,T1.DATE DESC
  9. )A


Message édité par betsamee le 31-08-2006 à 11:05:41
n°1434126
energiez
Posté le 31-08-2006 à 10:23:30  profilanswer
 

Quel rapidité !
Merci beaucoup pour votre aide :)
 
La réponse de olivthill semble fonctionner :)

n°1434128
betsamee
Asterisk Zeperyl
Posté le 31-08-2006 à 10:25:09  profilanswer
 

energiez a écrit :

Quel rapidité !
Merci beaucoup pour votre aide :)
 
La réponse de olivthill semble fonctionner :)


j ai edite la mienne qui fonctionne aussi (petite erreur dans le group by)

n°1434132
energiez
Posté le 31-08-2006 à 10:32:27  profilanswer
 

Je veins de tester la tienne.
 
Elle ne renvoie pas les lignes souhaité. Elle renvoie bien une ligne par magasin, mais ne renvoie pas le DERNIER sondage.
 
Mais merci tout de même pour ton aide :D
Comme ca je vois plein de maniére différent de faire :)

n°1434136
betsamee
Asterisk Zeperyl
Posté le 31-08-2006 à 10:36:30  profilanswer
 

energiez a écrit :

Je veins de tester la tienne.
 
Elle ne renvoie pas les lignes souhaité. Elle renvoie bien une ligne par magasin, mais ne renvoie pas le DERNIER sondage.
 
Mais merci tout de même pour ton aide :D
Comme ca je vois plein de maniére différent de faire :)


[:ddr555]
je vais regarder ce qui cloche
 
EDIT : mais ma requette marche tres bien  :D


Message édité par betsamee le 31-08-2006 à 11:05:30
n°1434143
energiez
Posté le 31-08-2006 à 10:43:24  profilanswer
 

je crois savoir, car j'avais deja essayer avec le MAX.
 
En fait, si on fait un select MAX, ca affiche bien la valeur maxi, mais ca ne selectionne pas la ligne concerné ! Du moins je crois :|

n°1434144
betsamee
Asterisk Zeperyl
Posté le 31-08-2006 à 10:45:50  profilanswer
 

c'est ce qui semble :-(

n°1434157
darkfrost
Posté le 31-08-2006 à 11:04:46  profilanswer
 

Une autre solution qui devrait marcher et qui n'est qu'une variante de celle de olivthill ;) !
 

Code :
  1. SELECT Id
  2. FROM T_Sondages
  3. WHERE (magasin, date) IN(
  4. SELECT magasin, MAX(date)
  5. FROM T_Sondages
  6. GROUP BY magasin);


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [MySQL] Probléme sur requete pas simple !

 

Sujets relatifs
[mysql] trigger lors d'une insertion...problème avec une SELECT BOX
Problème de date en vba-access 2000Oracle : problème requête ! MERGE INTO [RESOL] 2 bugs Oracle de fou
Probleme avec les sons et ACTIVEXPerl, XML et problème accent
Problème pour récupérer la dernière id[HTML/CSS/JS] Problème de compatibilité humain/humain
Problème de compatibilité script AJAX/IE 
Plus de sujets relatifs à : [MySQL] Probléme sur requete pas simple !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR