[RESOLU] Requete mysql supprimer les doublons

Eléphant du PHP | 115 Messages

21 sept. 2018, 11:03

Bonjour tous le monde,

J'essais depuis quelques jours de faire une requete ou je retire les lignes en double.

Mon problème est que j'ai une requette de ce type qui fonctionne très bien je m'explique :

Code : Tout sélectionner

SELECT DISTINCT titre, etat_an, produit, prix, mac, date, heure, siteurl FROM exemple_jrs AS ex, type_exemple_jrs AS ag WHERE ex.ref_produit = ag.id_ref and ex.date BETWEEN '$dates' AND '$datesj' ORDER BY ex.date DESC
Cela fonction j'ai pas doublon, mais j'ai un lien que je créer de ce type :

Code : Tout sélectionner

<a href='../html/fiche.php?id_produit=<?php echo $donnees['id_extraction_jrs']; ?>'<b>produit</b></a>
Mais dans ma requette ne contient pas "id_produit" quant je rejoute cela mais doublon revienne.

Code : Tout sélectionner

SELECT DISTINCT titre, etat_an, produit, prix, mac, date, heure, siteurl, id_produit FROM exemple_jrs AS ex, type_exemple_jrs AS ag WHERE ex.ref_produit = ag.id_ref and ex.date BETWEEN '$dates' AND '$datesj' ORDER BY ex.date DESC
Comment faire pour dire juste ne prend pas en compte dans doublon (DISTINCT) la table id_produit.

Merci de votre aide,

Eléphant du PHP | 115 Messages

21 sept. 2018, 14:06

y aura-t-il quelqu'un pour m'aider.

Merci beaucoup,

Eléphant du PHP | 130 Messages

25 sept. 2018, 10:29

Le distinct te retournes pas les mêmes enregistrements normalement.
Est-ce que l'identifiant est différent ?
Ne peux tu pas faire un group by ?

Eléphant du PHP | 115 Messages

25 sept. 2018, 12:03

Merci de ton aide,

Oui l'id (incrémenter) est différent, pour un group by aurai tu un exemple.

Merci,

Eléphant du PHP | 130 Messages

25 sept. 2018, 14:48

Si l'id est différent c'est normal que ton distinct ne fonctionne pas car les enregistrements ne sont pas identiques.

Si tout tes champs sont égaux excepté l'identifiant, le SGBD ne sera pas quel identifiant récupérer.

Par exemple les 2 enregistrements ci-dessous, que souhaites tu faire ?
  • titre : Enregistrement 1
    etat_an : etat_1
    produit : produit_1
    prix : prix_1
    mac : mac_1
    date : date_1
    heure : heure_1
    siteurl :site_1
    id_produit : 1
  • titre : Enregistrement 1
    etat_an : etat_1
    produit : produit_1
    prix : prix_1
    mac : mac_1
    date : date_1
    heure : heure_1
    siteurl :site_1
    id_produit : 2