Requête update- numéroter du + ancien au + récent

Bonjour,
Je cherche à résoudre un problème de requête UPDATE pour numéroter des occurrences (id) du plus ancien au plus récent :
Je dispose d'une table A contenant ces colonnes : Id, date, numb_occ

id        Date                   num_ occ
127    01/05/2014    
321    24/02/2019    
114    01/04/2021    
127    01/02/2012    
127    02/04/2013    
144    01/04/2022    
321    01/02/2020    
444    01/04/2020    
127    01/07/2022    

Résultat:

id        Date                num_occ
127    01/05/2014      3
321    24/02/2019      1
114    01/04/2021      1
127    01/02/2012      1
127    02/04/2013      2
144    01/04/2022      1
321    01/02/2020      2
444    01/04/2020      1
127    01/07/2022     4

En vous remerciant par avance
Bonne journée
DE


Windows / Chrome 95.0.4638.54

3 réponses

  1. Modérateur

    Bonjour

    Ce qui me dérange c'est le format de tes dates...

    Une date, dans mysql, se Stock dans un champ de type date (et donc sous la forme année-mois-jour)

    Commence par corriger ça.. le tri sera alors possible sans souci et sans avoir à renumeroter...


    0
    1. Bonjour Jordane,

      il s’agit d’un exemple, ma colonne date est dans le bon format. Je cherche à avoir la méthode la plus simple pour actualiser la colonne num_occ p

      merci par avance 

      DE

      0
      1. Modérateur

        Si ton champ est dans le bon format, tu peux aller utiliser un ORDER BY sur la date et l'id

        Puis utiliser une requête du genre pour mettre à jour

        SET @r=0;
        UPDATE table SET Ranking= @r:= (@r+1) ORDER BY Score DESC;

        A mixer avec un truc du genre pour gérer chaque "groupe" d'id

        http://www.silota.com/docs/recipes/sql-top-n-group.html

        mais bon.. ça reste une drôle d'idée..


        0