|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Inscription : mai 2008 Messages : 24 ![]() |
Bonsoir à tous,
J'aurais besoin de votre aide pour réaliser un filtre de doublon, je sais qu'il y a une fonction array_unique mais je ne sais pas comment l'utiliser dans mon cas. Je souhaitais le faire en SQL avec GROUP BY et HAVING mais avant de filtrer le doublon je dois faire un ORDER BY Date et on n'a pas su m'aider sur les forums. Voici ma table : Code :
Code :
Dans ma colonne nommée "Concatener" j'ai des doublons et je souhaiterais ne garder que la première occurence de chaque doublons et ainsi supprimer les lignes contenants ces doublons. Je ne peux le faire en SQL car je veux faire un tri décroissant des dates avant de gérer ces doublons. Merci pour votre aide |
||||
|
|
00
|
|
|
#2 | ||
|
Expert Confirmé
![]() ![]() |
Bonsoir,
en MySQL il est possible de faire ce que tu souhaites en une seule passe tout en conservant des bonnes performances, j'ai pas essayé avec PHP : Code sql :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mai 2008 Messages : 24 ![]() |
Merci pour ta réponse,
le seul soucis c'est que tu fais le tri décroissant sur la colonne "Concatener" or il faut que ce tri se fasse sur la colonne "DateIntervention" avant de regrouper et supprimer les doublons de la colonne "Concatener". Sais-tu comment faire ? Merci encore |
|
|
00
|
|
|
#4 | ||
|
Membre confirmé
![]() Benjamin Consultant informatique Inscription : août 2007 Messages : 160 ![]() |
Code :
|
||
|
|
00
|
|
|
#5 | |||
|
Expert Confirmé
![]() ![]() |
Citation:
Code text :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|||
|
00
|
|
|
#6 | ||||
|
Invité de passage
![]() Inscription : mai 2008 Messages : 24 ![]() |
Merci pour vos réponses,
ci-dessous un exemple concret de ce que je cherche à obtenir comme résultat. Les données actuellement dans la table "Historique" : Code :
Code :
|
||||
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé
![]() ![]() |
Voici ce que je te propose :
Code sql :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||
|
00
|
|
|
#8 | ||
|
Invité de passage
![]() Inscription : mai 2008 Messages : 24 ![]() |
Merci pour ton aide,
J'ai testé, ça doit pas être loin du code qui permettrait de faire ce que je cherche car ça me sort un résultat mais tout ce qui devrait être affiché ne l'est pas. Je me suis résilié à faire plus simple donc j'exporte ma table en CSV et sous excel je fais un tri décroissant par date et je renvoi tout dans mysql (à l'origine mes données venaient d'un fichier excel). Ainsi quand je fais un GROUP BY Concatener, vu que le premier élément trouvé est gardé en référence, il tombe forcément sur la date la plus récente. Code :
En tout cas encore merci pour votre aide à tous |
||
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() Benjamin Consultant informatique Inscription : août 2007 Messages : 160 ![]() |
|
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : mai 2008 Messages : 24 ![]() |
oui je l'ai testé mais ça ne fonctionne pas non plus
|
|
|
00
|
|
|
#11 | |||
|
Expert Confirmé
![]() ![]() |
Citation:
Avec une partie de tes données d'entrée, voici ce que j'obtiens : Code :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
|||
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : mai 2008 Messages : 24 ![]() |
non ça n'est pas le résultat recherché, la forme est bonne mais par exemple ta première ligne affiche une vérification le 08/11/1995 alors que je voudrais qu'il prenne le plus récent soit le 03/02/2010.
En fait dans ton résultat il fait ce que je disais, il prend le premier résultat qu'il trouve et non la date la plus récente. merci quand même pour tes essais |
|
|
00
|
|
|
#13 | ||
|
Expert Confirmé
![]() ![]() |
ok, bon j'ai corrigé :
Code :
Par contre tu dois utiliser MaxDate et pas DateIntervention Je vais voir si c'est simplifiable
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||
|
00
|
|
|
#14 | ||
|
Expert Confirmé
![]() ![]() |
Comme je le pensais, c'est simplifiable et plus besoin de MaxDate :
Code sql :
__________________
# Dans la Création, tout est permis mais tout n'est pas utile... |
||
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : mai 2008 Messages : 24 ![]() |
Je ne sais pas quoi dire à part un énorme MERCI !!!
ça fonctionne parfaitement, vraiment ça m'impressionne ^^. Je sais qu'il faudrait que j'améliore ma bdd car c'est un peu brouillon mais en attendant ça fonctionne comme je le souhaitais. Encore merci pour ton aide |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com