Maison  >  Questions et réponses  >  le corps du texte

Partitionner en utilisant plusieurs champs et obtenir le même numéro de regroupement dans chaque partition

J'ai un ensemble de données qui ressemble à ceci :

Type de voiture Date Voitures
Honda 28 mai 2022 Voiture 1
Honda 28 mai 2022 Voiture 1
Honda 11 août 2022 Voiture 2
Honda 11 août 2022 Voiture 2
BMW 28 mai 2022 Voiture 1
BMW 28 mai 2022 Voiture 1
BMW 11 août 2022 Voiture 2
BMW 11 août 2022 Voiture 2

Je souhaite créer une colonne supplémentaire "attendue" en utilisant les fonctions row_number(), Rank() comme ceci :

Type de voiture Date Voitures Attendu
Honda 28 mai 2022 Voiture 1 1
Honda 28 mai 2022 Voiture 1 1
Honda 11 août 2022 Voiture 2 2
Honda 11 août 2022 Voiture 2 2
BMW 28 mai 2022 Voiture 1 1
BMW 28 mai 2022 Voiture 1 1
BMW 11 août 2022 Voiture 2 2
BMW 11 août 2022 Voiture 2 2

J'ai essayé la requête ci-dessous. Mais cela ne semble pas me donner les bons résultats

选择汽车类型、日期、汽车、 ROW_NUMBER() OVER (PARTITION BY CarType, Car ORDER BY Date ASC) AS RW from table

P粉311423594P粉311423594236 Il y a quelques jours289

répondre à tous(1)je répondrai

  • P粉478445671

    P粉4784456712024-02-26 11:38:28

    SELECT CarType, 
           Date, 
           Car, 
           DENSE_RANK() OVER (PARTITION BY CarType 
                              ORDER BY Car) AS RW 
    from table
    

    répondre
    0
  • Annulerrépondre