Partage
  • Partager sur Facebook
  • Partager sur Twitter

Compter des dates consécutives

Avec MySQL

    23 avril 2021 à 22:33:29

    Bonjour

    Je me permets de vous soumettre cette problématique car en lisant à droite à gauche sur les forum j'ai bien peur de ne pas pouvoir le faire avec MySQL.

    J'ai une base contenant des individus, des dates et des villes.

    Je souhaite, pour une liste d'individus donnée, compter le nombre de jours [consécutifs] où l'individu a séjourné dans la ville, jusqu'à aujourd'hui.

    Exemple : 

    Individu X - 23/04/21 - 1 (Poitiers)

    Individu X - 22/04/21 - 1 (Poitiers)

    Individu X - 15/04/21 - 1 (Poitiers)

    Individu Y - 23/04/21 - 1 (Poitiers)

    Individu Y - 17/04/21 - 1 (Poitiers)

    Individu Y - 15/04/21 - 1 (Poitiers)

    J'aimerais obtenir en sortie (classé du séjour le plus court au plus long): 

    Individu Y - 1 jour

    Individu X - 2 jours

    SELECT loc_nom, COUNT(loc_date) as NbJours FROM `rec_localisation` WHERE loc_ville=1 GROUP BY loc_date ORDER BY NbJours

    Il faudrait que dans le "count" il n'y ait que les dates consécutives à partir de la plus récente....

    Une idée ? merci par avance !

    EDIT : 

    J'ai un peu avancé...je pense que mon salut va venir des procédures stockées...

    Il faudrait en gros que j'extrais d'abord l'ensemble des dates consécutives pour l'individu ? puis que j'applique la requête utilisant GROUP BY ci dessus en appelant la procédure stockée dans la requête ?

    Mais pour ce qui est d'extraire des dates consécutives je ne sais toujours pas m'y prendre, il me manque la syntaxe...je vais chercher du côté d'INTERVAL 1 DAY

    EDIT 2 :

    A priori je ne peux pas utiliser les procédures stockées, trop vieille version (5.0.83) de MySQL :'(

    -
    Edité par Markdaul 24 avril 2021 à 14:06:38

    • Partager sur Facebook
    • Partager sur Twitter
      25 avril 2021 à 19:36:52

      Bonjour,

      Markdaul a écrit:

      trop vieille version (5.0.83) de MySQL

      Ni les procédures stockées, ni les fonctions récursives ... dommage ...

      Je pense que le plus simple du coup c'est de coder cela hors MySQL (PHP ?).

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        3 mai 2021 à 10:52:47

        C'est effectivement ce que je craignais, merci Benzouye.
        • Partager sur Facebook
        • Partager sur Twitter

        Compter des dates consécutives

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown