mysql DISTINCT
40 messages • Page 1 sur 3 • 1, 2, 3
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
mysql DISTINCT
Salut,
J'ai un problème de requête mysql.
Sur mon site -www j'ai une table "sorties" (id, id_topo, date, com)
Je voudrais selectionner les dix sorties les plus récentes (champ date) et ayant un champ id_topo distinct.
Vous savez comment faire ???
Merci
J'ai un problème de requête mysql.
Sur mon site -www j'ai une table "sorties" (id, id_topo, date, com)
Je voudrais selectionner les dix sorties les plus récentes (champ date) et ayant un champ id_topo distinct.
Vous savez comment faire ???
Merci
Si tu es sous mysql en version < 4, tu ne peux pas faire de sous-requetes.
Alors il faut probablement (pas sûr), commencer par une requete du type:
Puis la parser et requêter pour chaque ligne obtenue un truc dans le genre:
Mais il y a peut-être mieux... Et surtout, ça ne marche que si il y a un seul enregistement pour un id_topo et date donnés...
Alors il faut probablement (pas sûr), commencer par une requete du type:
- Code: Tout sélectionner
select id_topo, max(date) as mdate from sorties group by id_topo order by mdate desc limit 10;
Puis la parser et requêter pour chaque ligne obtenue un truc dans le genre:
- Code: Tout sélectionner
select * from sorties where id_topo = (idtoporecup) and date = (daterecup);
Mais il y a peut-être mieux... Et surtout, ça ne marche que si il y a un seul enregistement pour un id_topo et date donnés...
e-kiwi a écrit:et "select distinct id_topo,id,date,comm order by date desc limit 0,10" tout simplement marche pas ?
Je crois que le distinct ne s'applique pas à un champ unique mais à toute la ligne, donc ça ne marche pas (il peut y voir 2 lignes distinctes avec le même id_topo).
id est unique (autoincrément)
id_topo n'est pas unique et fait référence au champ id (unique : autoincrément) de la table topos
Vous avez des idées ?
je suis [presque] sûr que l'on peut faire ça en 1 requête.....
>> il peut y voir 2 lignes distinctes avec le même id_topo
plus haut ->
>> ayant un champ id_topo distinct.
tu veux des id_topo distinct ou bien ?
c est pas clair. colle la structure de ta pages et qques enregistrements en exemple si tu veux qu'on t aide. faire du SQL sans connaitre la table cé pas simple
plus haut ->
>> ayant un champ id_topo distinct.
tu veux des id_topo distinct ou bien ?
c est pas clair. colle la structure de ta pages et qques enregistrements en exemple si tu veux qu'on t aide. faire du SQL sans connaitre la table cé pas simple
jeroen a écrit:(...)je suis [presque] sûr que l'on peut faire ça en 1 requête.....
Ah ben des idées, j'en ai plein
Par exemple, ça, ça marche très bien:
- Code: Tout sélectionner
select tb1.*
from
sorties as tb1,
(select id_topo, max(date) as mdate from sorties group by id_topo order by mdate desc limit 10) as tb2
where tb1.id_topo = tb2.id_topo
and tb1.date = tb2.mdate
Mais il faut un mysql v4.0 !!
e-kiwi a écrit:>> il peut y voir 2 lignes distinctes avec le même id_topo
c'est ce que me fournirait sa solution, et c'est ca que je ne veux pas (je veux un id_topo distinct)
@ Yan Bilik
Y'a plus simple, en déclarant 2 fois la table et en faisant une jointure par exemple ??
y'a quoi comme version de mysql sur ovh 300GP ??
jeroen a écrit:Y'a plus simple, en déclarant 2 fois la table et en faisant une jointure par exemple ??
y'a quoi comme version de mysql sur ovh 300GP ??
Si c'est comme le 60gp (et ça doit être le cas), c'est du mysql v3. Donc pas de sous-requêtes.
Concernant la jointure, c'est évidemment de ce côté qu'il faut regarder, mais là, comme ça, je ne sait pas trop comment faire.
Peux-tu déjà confirmer qu'avec un id_topo et une date donnés, on n'obtient qu'un seul enregistrement ?
The Jedi a écrit:Et pourquoi pas un GROUP BY id_topo, c'est plus rapide et moins lourd.
A mon avis, c'est parce qu'un simple group by id_topo (avec un max(date) comme je lui suggérais plus haut) ne lui retourneras pas les ID.
Enfin, à lui de dire...
40 messages • Page 1 sur 3 • 1, 2, 3
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Gestion des langues et des sessions en PHP / MySQL
- Passage à l'heure d'été/hiver sur un forum phpBB
- GoogleStats : analyse temps réel des visites de Google sur votre site
- Sortie officielle de GoogleStats v2.0 !
- AdSense Tracking : statistiques détaillées sur les clics AdSense
- Le WRInaute du moment
- Interview Wikio : transcript du chat WebRankInfo
- Googlebot, le robot d'indexation de Google
- Le marketing viral au service du référencement
- Analyse du trafic généré par Google Maps (tracking)
Qui est en ligne
Utilisateurs parcourant ce forum: Lôrenb et 0 invités






le forum