MYSQL PHP SELECT DISTINC INVERSé
Résolu/Fermé
A voir également:
- MYSQL PHP SELECT DISTINC INVERSé
- Annuaire inversé - Guide
- Ecran inversé - Guide
- Slash inversé ✓ - Forum Clavier
- Annuaire inversé gratuit ✓ - Forum Réseaux sociaux
- Reboot and select proper boot device - Forum Windows
7 réponses
MERCI A REDLIFEBIG ET LEWIS... REPONSES 11 & 13
GRACE A VOUS G REUSSIT, C'etait bien
select max(id),pseudo,max(date) from table group by pseudo;
Cela m'a permit de comprendre comment utiliser le MAX() dans SQL
Bonne continuation les gars.
GRACE A VOUS G REUSSIT, C'etait bien
select max(id),pseudo,max(date) from table group by pseudo;
Cela m'a permit de comprendre comment utiliser le MAX() dans SQL
Bonne continuation les gars.
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
4 juin 2008 à 21:14
4 juin 2008 à 21:14
etu a essaye avec les tableaux (array)
/ /on crée la requête SQL
$sql = 'SELECT distinct * FROM ta_table ORDER by date ASC ; //si tu veut trier par date
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on lance la requete qui affiche les resultats suivant la condition
while($data = mysql_fetch_array($req))
{
// on affiche les informations de l'enregistrement en cours
echo '<b>'.$data['champ1'].' '.$data['champ2'].'</b> ('.$data['champ3'].')';
// bien sur tu met les champs que tu veut
}
c'est une idée comme ça..
/ /on crée la requête SQL
$sql = 'SELECT distinct * FROM ta_table ORDER by date ASC ; //si tu veut trier par date
// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on lance la requete qui affiche les resultats suivant la condition
while($data = mysql_fetch_array($req))
{
// on affiche les informations de l'enregistrement en cours
echo '<b>'.$data['champ1'].' '.$data['champ2'].'</b> ('.$data['champ3'].')';
// bien sur tu met les champs que tu veut
}
c'est une idée comme ça..
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
>
shetanus
5 juin 2008 à 16:21
5 juin 2008 à 16:21
oui c'est normal mais apres dans un array tu doit afficher que les champs que tu a selectionné dans ta boucle while
redlifebig
Messages postés
59
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
17 mars 2010
23
5 juin 2008 à 17:47
5 juin 2008 à 17:47
select max(id),pseudo,max(date) from table group by pseudo;
J’ai testé et ça marche
J’ai testé et ça marche
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
4 juin 2008 à 06:23
4 juin 2008 à 06:23
bonjour tu a essayé avec order by...
SELECT id,pseudo,date FROM $table ORDER BY ip_adress ASC
SELECT id,pseudo,date FROM $table ORDER BY ip_adress ASC
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
V3n1
Messages postés
294
Date d'inscription
vendredi 30 mai 2008
Statut
Membre
Dernière intervention
12 décembre 2010
56
4 juin 2008 à 08:49
4 juin 2008 à 08:49
Salut,
Je pense plutôt à :
SELECT id, pseudo, date FROM &table ORDER BY date ASC
Cette requète marchera juste si ton champ "date" est de type date/heure
J'comprend pas ce que "ip_adress" vient faire ici.
Je pense plutôt à :
SELECT id, pseudo, date FROM &table ORDER BY date ASC
Cette requète marchera juste si ton champ "date" est de type date/heure
J'comprend pas ce que "ip_adress" vient faire ici.
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
4 juin 2008 à 08:52
4 juin 2008 à 08:52
oupss j'eatis pas ou trop réveillé ce matin..
en effet je voulais mettre
SELECT id,pseudo,date FROM $table ORDER BY date ASC...
désolé
en effet je voulais mettre
SELECT id,pseudo,date FROM $table ORDER BY date ASC...
désolé
shetanus
>
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
4 juin 2008 à 18:01
4 juin 2008 à 18:01
Merci les gars,
Pour ip_adress je me suis trompé car je travaille sur deux sites en meme temps excusez moi.
C'est bien les valeurs id,pseudo,date dont nous parlons.
C'est exactement ce que j'avais essayé au debut avec ORDER BY apres un GROUP BY pour dedoublonner...
Mais le résultat c'est qu'il me retourne le tableau inversé. exemple avec ORDER BY date ASC :
1;shetanus;2007-02-20
2;teamA;2007-02-21
3;teamB;2007-02-22
exemple avec ORDER BY date DESC :
3;teamB;2007-02-22
2;teamA;2007-02-21
1;shetanus;2007-02-20
Moi j'ai plusieurs valeurs identiques dans la colonne "pseudo" car les identifiants se connectent aléatoirement, et des dates differentes.
Je souhaite récupérer la date la plus a jour par rapport au pseudo. en gros quand il groupe les valeurs ils les groupe par ordre alphabetique, et lorsqu'il affiche les données grouppées sur ma page, c'est la date de premiere connexion qui sort et pas la derniere.
En tout cas, merci beaucoup les gars de votre aide.
Vous etes précieux dans ces moments là.
Pour ip_adress je me suis trompé car je travaille sur deux sites en meme temps excusez moi.
C'est bien les valeurs id,pseudo,date dont nous parlons.
C'est exactement ce que j'avais essayé au debut avec ORDER BY apres un GROUP BY pour dedoublonner...
Mais le résultat c'est qu'il me retourne le tableau inversé. exemple avec ORDER BY date ASC :
1;shetanus;2007-02-20
2;teamA;2007-02-21
3;teamB;2007-02-22
exemple avec ORDER BY date DESC :
3;teamB;2007-02-22
2;teamA;2007-02-21
1;shetanus;2007-02-20
Moi j'ai plusieurs valeurs identiques dans la colonne "pseudo" car les identifiants se connectent aléatoirement, et des dates differentes.
Je souhaite récupérer la date la plus a jour par rapport au pseudo. en gros quand il groupe les valeurs ils les groupe par ordre alphabetique, et lorsqu'il affiche les données grouppées sur ma page, c'est la date de premiere connexion qui sort et pas la derniere.
En tout cas, merci beaucoup les gars de votre aide.
Vous etes précieux dans ces moments là.
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
89
4 juin 2008 à 18:23
4 juin 2008 à 18:23
Bonjour.
Si je comprends bien, tu veux récupérer pour chaque PSEUDO, la dernière DATE de connexion ?
Et le MAX(DATE) ne fonctionne pas ?!
PS : Au passage (rien à voir (?) avec le problème) : évite d'appeler ton champ DATE, ça peut engendrer des conflits...
Si je comprends bien, tu veux récupérer pour chaque PSEUDO, la dernière DATE de connexion ?
Et le MAX(DATE) ne fonctionne pas ?!
PS : Au passage (rien à voir (?) avec le problème) : évite d'appeler ton champ DATE, ça peut engendrer des conflits...
Merci mac gawel, j'ai renommé la colonne date par rapport a tes conseils. renommée en visite
avec la commande MAX date, je n'obtiens qu'une seule ligne. celle de la date la plus récente.
Aurais tu une idée pour la syntaxe ?
exemple
SELECT MAX(id) FROM $table WHERE (SELECT DISTINCT pseudo FROM $table) ORDER BY visite DESC ;
ou
SELECT * FROM $table AS #temptable WHERE (SELECT MAX(visite) FROM #temptable GROUP BY pseudo) ORDER BY visite DESC ;
C trop dur...
Là je bloque.
avec la commande MAX date, je n'obtiens qu'une seule ligne. celle de la date la plus récente.
Aurais tu une idée pour la syntaxe ?
exemple
SELECT MAX(id) FROM $table WHERE (SELECT DISTINCT pseudo FROM $table) ORDER BY visite DESC ;
ou
SELECT * FROM $table AS #temptable WHERE (SELECT MAX(visite) FROM #temptable GROUP BY pseudo) ORDER BY visite DESC ;
C trop dur...
Là je bloque.
macgawel
Messages postés
664
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
1 novembre 2008
89
>
shetanus
5 juin 2008 à 13:44
5 juin 2008 à 13:44
En fait, je pensais plutôt à
Qui devrait te renvoyer une ligne par ID, avec le maximum des VISITE de l'ID...
SELECT id, MAX(visite) from $table group by id;
Qui devrait te renvoyer une ligne par ID, avec le maximum des VISITE de l'ID...
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
4 juin 2008 à 19:41
4 juin 2008 à 19:41
re et ça ça marche pas ?
SELECT DISTINCT id, pseudo, date FROM &table ORDER BY date ASC
SELECT DISTINCT id, pseudo, date FROM &table ORDER BY date ASC