Heim  >  Fragen und Antworten  >  Hauptteil

Partitionieren Sie mit mehreren Feldern und erhalten Sie in jeder Partition die gleiche Gruppierungsnummer

Ich habe einen Datensatz, der so aussieht:

Autotyp Datum Autos
Honda 28. Mai 2022 Auto 1
Honda 28. Mai 2022 Auto 1
Honda 11. August 2022 Auto 2
Honda 11. August 2022 Auto 2
BMW 28. Mai 2022 Auto 1
BMW 28. Mai 2022 Auto 1
BMW 11. August 2022 Auto 2
BMW 11. August 2022 Auto 2

Ich möchte eine zusätzliche Spalte „erwartet“ mit den Funktionen row_number() und rank() wie folgt erstellen:

Autotyp Datum Autos Erwartet
Honda 28. Mai 2022 Auto 1 1
Honda 28. Mai 2022 Auto 1 1
Honda 11. August 2022 Auto 2 2
Honda 11. August 2022 Auto 2 2
BMW 28. Mai 2022 Auto 1 1
BMW 28. Mai 2022 Auto 1 1
BMW 11. August 2022 Auto 2 2
BMW 11. August 2022 Auto 2 2

Ich habe die folgende Abfrage ausprobiert. Aber es scheint mir nicht die richtigen Ergebnisse zu liefern

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

P粉311423594P粉311423594236 Tage vor285

Antworte allen(1)Ich werde antworten

  • 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
    

    Antwort
    0
  • StornierenAntwort