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

 


Dernière réponse
Sujet : [MySQL]
tomlameche

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:  


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
tomlameche

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:  

sihal_again 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 )
tomlameche

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.

sihal_again 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.
sihal_again 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é
tomlameche

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)
 

sihal_again 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 .
tomlameche

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.

sihal_again 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.
tomlameche

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.

sihal_again 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...
tomlameche

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 ?

sihal_again 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.
tomlameche

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 ?

sihal_again 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...
tomlameche

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

sihal_again l'integralité du row je veux dire
sihal_again 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:

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)