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

  FORUM HardWare.fr
  Programmation

  [MySQL]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MySQL]

n°202786
sihal_agai​n
in doubt, reboot
Posté le 27-08-2002 à 12:48:58  profilanswer
 

je suis embété j'arrive pas a ecrire une requete pourtant assez simple:
 
voici la table de données:  
U1 | S1      *
U1 | S2      **
U1 | S3
U2 | S1       *
U2 | S2       **
 
sje' voudrais faire une requete du type select distinct U  limit 2 pour choper a la premiere passe les rangs (*) puis a la deuxiemme les rangs ** etc ( faire une sorte de peigne progressant au fur et a mesure ) .  
j'y arrive facilement en faisant select distinct u where .... Limit 2 , mais le probleme c'est que je n'ai que le champ U, ce qui est un poil chiant, car je voudrais avoir l'intégralité de la colonne .  
Voila, si qu'un a une idée.... meric :spookie:  :bounce:


---------------
Graphisme, créations, court-métrages, fonds d'écrans :  
mood
Publicité
Posté le 27-08-2002 à 12:48:58  profilanswer
 

n°202789
sihal_agai​n
in doubt, reboot
Posté le 27-08-2002 à 12:56:10  profilanswer
 

l'integralité du row je veux dire


---------------
Graphisme, créations, court-métrages, fonds d'écrans :  
n°202791
tomlameche
Et pourquoi pas ?
Posté le 27-08-2002 à 13:00:07  profilanswer
 

sihal_again a écrit a écrit :

je suis embété j'arrive pas a ecrire une requete pourtant assez simple:
 
voici la table de données:  
U1 | S1      *
U1 | S2      **
U1 | S3
U2 | S1       *
U2 | S2       **
 
sje' voudrais faire une requete du type select distinct U  limit 2 pour choper a la premiere passe les rangs (*) puis a la deuxiemme les rangs ** etc ( faire une sorte de peigne progressant au fur et a mesure ) .  
j'y arrive facilement en faisant select distinct u where .... Limit 2 , mais le probleme c'est que je n'ai que le champ U, ce qui est un poil chiant, car je voudrais avoir l'intégralité de la colonne .  
Voila, si qu'un a une idée.... meric :spookie:  :bounce:  




Je comprend pas très bien ta question.
Est ce que tu pourrai expiciter plus ta table :
- colonnes
- les 5 premieres lignes


Message édité par tomlameche le 27-08-2002 à 13:00:42
n°202792
sihal_agai​n
in doubt, reboot
Posté le 27-08-2002 à 13:02:16  profilanswer
 

colonne 1: User : U1 <=> User 1
colonne 2 : Session ( par exemple) donc S1 <=> session 1  
 
 
voila c'est une table de  sessions par users que je veux parser avec une sorte de peigne...


---------------
Graphisme, créations, court-métrages, fonds d'écrans :  
n°202793
tomlameche
Et pourquoi pas ?
Posté le 27-08-2002 à 13:06:11  profilanswer
 

sihal_again a écrit a écrit :

colonne 1: User : U1 <=> User 1
colonne 2 : Session ( par exemple) donc S1 <=> session 1  
 
 
voila c'est une table de  sessions par users que je veux parser avec une sorte de peigne...  




Je suis peut être un peu fatigué, mais ce n'est pas très clair encore pour moi ...
Ce que tu veux, c'est choper d'abord les premières session, puis les duexièmes, etc ... ? C'est bien ça ?

n°202796
sihal_agai​n
in doubt, reboot
Posté le 27-08-2002 à 13:09:42  profilanswer
 

eux non, en fait ce que je veux c'est n'avoir qu'une ligne par user a la fois.  
par exemple: je traite ala premiere itération la premiere ligne de l'user 1, et de l'user 2,  
puis itération suivante, la deuxieme ligne de U1 ET LA 2eme ligne de U2, Eetc...  
 en fait au depart je prenais tout, mais en fait pour d'obscures raison je ne doit traiter qu'une ligne par user a la fois.


---------------
Graphisme, créations, court-métrages, fonds d'écrans :  
n°202797
tomlameche
Et pourquoi pas ?
Posté le 27-08-2002 à 13:15:55  profilanswer
 

sihal_again a écrit a écrit :

eux non, en fait ce que je veux c'est n'avoir qu'une ligne par user a la fois.  
par exemple: je traite ala premiere itération la premiere ligne de l'user 1, et de l'user 2,  
puis itération suivante, la deuxieme ligne de U1 ET LA 2eme ligne de U2, Eetc...  
 en fait au depart je prenais tout, mais en fait pour d'obscures raison je ne doit traiter qu'une ligne par user a la fois.  




Ben par exemple, si tu ajoute une colonne donnant le numéro de session ( à moins que ce ne soit déjà le cas pour ta colonne) et tu met dans ton where une limitte sur les numéros de session.
Ou j'ai peut être tjs pas compris ?

n°202827
sihal_agai​n
in doubt, reboot
Posté le 27-08-2002 à 14:15:24  profilanswer
 

euh désolé mais c pas encore ca ;-)  
je pense en fait que c'est pas réalisable en pratique de cette maniere la en tout cas. si quelqu'un peu me démonter que j'ai tort...


---------------
Graphisme, créations, court-métrages, fonds d'écrans :  
n°202854
tomlameche
Et pourquoi pas ?
Posté le 27-08-2002 à 14:38:14  profilanswer
 

sihal_again a écrit a écrit :

euh désolé mais c pas encore ca ;-)  
je pense en fait que c'est pas réalisable en pratique de cette maniere la en tout cas. si quelqu'un peu me démonter que j'ai tort...  




Ben en tout cas, si tu as un champ "NumSession" où tu met à chaque fois le numéro par rapport au user ( 1 la première fois, 2 la deuxième et ainsi de suite ), tu peux obtenir ce que tu veux, il me semble.

n°202868
sihal_agai​n
in doubt, reboot
Posté le 27-08-2002 à 14:48:38  profilanswer
 

nonnon, regarde le premier post. j'ai deja ma table de remplie. je veux qu'a la premiere itération je recupere les champs marqués d'une etoile, puis a la deuxime ceux avec 2 etoiles et ainsi de suite, d'ou ce que je veux dire en utilisant le mot peigne.


---------------
Graphisme, créations, court-métrages, fonds d'écrans :  
mood
Publicité
Posté le 27-08-2002 à 14:48:38  profilanswer
 

n°202875
tomlameche
Et pourquoi pas ?
Posté le 27-08-2002 à 14:52:10  profilanswer
 

sihal_again a écrit a écrit :

nonnon, regarde le premier post. j'ai deja ma table de remplie. je veux qu'a la premiere itération je recupere les champs marqués d'une etoile, puis a la deuxime ceux avec 2 etoiles et ainsi de suite, d'ou ce que je veux dire en utilisant le mot peigne.  




Ben si tu n'as rien dans la strucutre de tes données ( en particuler pour le champs S ) qui peut t'indiquer si c'est la première session ou non pour un user, je vois pas comment tu peux faire.

n°202878
sihal_agai​n
in doubt, reboot
Posté le 27-08-2002 à 14:55:05  profilanswer
 

le truc serait d'arrivera faire une requete a base de "distinct" pour que mysql me renvoie un champ pour l'user 1, un champ pour l'user 2 etc... peut importe qu'il me renvoie la ligne 1 ou la ligne 4 pour l'iduser 1 du momment qu'il me renvoie une ligne par user .


---------------
Graphisme, créations, court-métrages, fonds d'écrans :  
n°202885
tomlameche
Et pourquoi pas ?
Posté le 27-08-2002 à 14:59:23  profilanswer
 

sihal_again a écrit a écrit :

le truc serait d'arrivera faire une requete a base de "distinct" pour que mysql me renvoie un champ pour l'user 1, un champ pour l'user 2 etc... peut importe qu'il me renvoie la ligne 1 ou la ligne 4 pour l'iduser 1 du momment qu'il me renvoie une ligne par user .  




Tu peux essayer un truc du genre :
select distinct u, S
from table t
where t.S = ( select S from table t2 where t2.u = t.u limit 1)
 

n°202904
sihal_agai​n
in doubt, reboot
Posté le 27-08-2002 à 15:13:04  profilanswer
 

not bad, mais c pas encore ca. je te remercie pour ton aide mais laisse tomber:je peux pas vraiment expliquer le probleme en detail donc on trouvera pas comme ca une solution si je fournis pas tout les elements.. desolé


---------------
Graphisme, créations, court-métrages, fonds d'écrans :  
n°202981
sihal_agai​n
in doubt, reboot
Posté le 27-08-2002 à 16:15:45  profilanswer
 

eheh j'ai une solution pour faire un peigne progressif :  
select truc,machin,chose  from tSession where Status = 'pending' GROUP BY IDUser ORDER BY SendDate LIMIT 100 ;  
 
il faut evidement que le status des lignes fetchés passe a autre chose que pending pour pouvoir trouver d'autres rows a la requete suivante.


---------------
Graphisme, créations, court-métrages, fonds d'écrans :  
n°203004
tomlameche
Et pourquoi pas ?
Posté le 27-08-2002 à 16:40:32  profilanswer
 

sihal_again a écrit a écrit :

eheh j'ai une solution pour faire un peigne progressif :  
select truc,machin,chose  from tSession where Status = 'pending' GROUP BY IDUser ORDER BY SendDate LIMIT 100 ;  
 
il faut evidement que le status des lignes fetchés passe a autre chose que pending pour pouvoir trouver d'autres rows a la requete suivante.  




Ben c'est à un truc comme ça que je pensai plus haut avec une colonne indiquant le numero de session ...
Ca revient au même avec les statuts : y te faut un statut différent à chaque nouvelle session.

n°203129
sihal_agai​n
in doubt, reboot
Posté le 27-08-2002 à 17:37:34  profilanswer
 

ouaip, il faut que le status change pour que le peigne progresse. ouah on aura lutté dis donc! :ouch:  
en tout cas désolé d'acvoir posé une question aussi imprécise, mais je bosse pour une boite et je ne peux parler de ce que je fais normalement ( clause de confi, comme dans la plupart des boites )


---------------
Graphisme, créations, court-métrages, fonds d'écrans :  
n°203138
tomlameche
Et pourquoi pas ?
Posté le 27-08-2002 à 17:40:37  profilanswer
 

sihal_again a écrit a écrit :

ouaip, il faut que le status change pour que le peigne progresse. ouah on aura lutté dis donc! :ouch:  
en tout cas désolé d'acvoir posé une question aussi imprécise, mais je bosse pour une boite et je ne peux parler de ce que je fais normalement ( clause de confi, comme dans la plupart des boites )  




C'est clair que c'est pas evident à comprendre si tu ne donnes que la moitié de l'enoncé !
Mais tu sais, je pense que le pb de confidentialité peut facilement être resolu en decrivant le coté purement technique avec un exemple type : pas besoin de savoir pourquoi exactement, ni de connaitre le contenu exact des tables : juste la structure.
 :hello:  


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

  [MySQL]

 

Sujets relatifs
[MYSQL] pb pour lancer le client[MySQL] Problème avec une requête...
MySQL: Qu'est ce que c'est,aa quoi ça sert,comment s'en servir?[MySQL] Problème de performance avec un index
[PHP/MYSQL] Pb connection Mysql avec EasyPHP 1.6[MySQL] help schéma bdd... newbee inside
Arrondir dans une requette MySQL ?[MySQL] Connaître la date d'un éventuel dernier accès.
[MySQL ] - SELECT et UPDATEGarnir un champ 'dateHeure' dans une base MySQL - [RÉSOLU]
Plus de sujets relatifs à : [MySQL]


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