[MySQL] : différence entre 2 lignes d'une table

WRInaute passionné
Bonjour,

j'ai une table notes (id, date_note, texte ...)
j'aimerais faire la liste de toutes les notes rentrées à moins d'une minute d'intervalle

Par exemple :

1 2008-12-01 12:38:45 blabla
2 2008-12-02 10:53:01 blibli
3 2008-12-02 10:53:27 bloblo

J'aimerais que la requête me retourne les lignes 2 et 3.

Merci de votre aide
 
WRInaute passionné
:-)

non mais je ne connais pas la date de chaque note, je veux en gros la liste des notes très proches l'une de l'autre !
 
WRInaute passionné
Hello,

tu fais une jointure de ta table "notes" sur elle même, en précisant que l'ID doit être supérieur (ou inférieur, mais pas les deux sinon tu vas avoir des doublons) et que les 2 dates doivent avoir moins d'une minute d'écart.
 
WRInaute accro
Faire une boucle qui passe à travers la table.

Stocker dans une variable la date de la note et l'ID de la note.
Sur l'enregistrement suivant, comparer la date de la note à la variable. Si différence < 1 minute, ajouter l'ID stockée + ID de la note en cours à un array, sinon rien)
Stocker la nouvelle valeur de la date de la note et la nouvelle ID
Passer à l'enregistrement suivant.

Une fois cela fait, supprimer les doublons dans le tableau.
 
WRInaute passionné
merci mais j'ai suivi bool et ca donne ça en mysql pour ceux que ça peut aider :

Code:
SELECT a.id_client, a.date_note, b.date_note, ABS(UNIX_TIMESTAMP(a.date_note) - UNIX_TIMESTAMP(b.date_note)) AS la_diff FROM notes a, notes b WHERE a.date_note > b.date_note AND a.id_note > b.id_note AND a.id_client = b.id_client ORDER BY la_diff ASC

merci à tous
 
WRInaute passionné
re,

perso j'enlèverais cette clause : a.date_note > b.date_note qui me semble inappropriée et source d'erreurs, non ?
 
Discussions similaires
Haut