PARTITION & ORDER
Fait partie de la section Les fondamentaux du Journey SQL de Coddy — leçon 60 sur 72.
Nous pouvons également combiner PARTITION BY avec ORDER BY. Par exemple, considérez le table1 suivant :
| id | type |
| 132 | t1 |
| 52 | t2 |
| 92 | t1 |
| 154 | t3 |
| 198 | t1 |
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1Cela numérotera les lignes par ordre croissant selon l'id de chaque type :
| id | type | row_num |
| 132 | t1 | 2 |
| 52 | t2 | 1 |
| 92 | t1 | 1 |
| 154 | t3 | 1 |
| 198 | t1 | 3 |
Maintenant, l’id 132 a row_num 2 car il est supérieur à 92 et inférieur à 198 (parmi toutes les lignes de type t1).
Défi
FacileTables et colonnes disponibles :
<strong>doors</strong>:<strong>id</strong>,<strong>publication_year</strong><strong>doors_specs</strong>:<strong>id</strong>,<strong>country</strong>,<strong>color</strong>
Écrivez une requête SQL pour analyser la séquence des couleurs de portes au sein de chaque pays, ordonnée par année de publication. Pour chaque spécification de porte, affichez :
- Le pays
- La couleur
- L'année de publication
- Un nombre représentant l'ordre des couleurs au sein de chaque pays en fonction de l'année de publication. Appelez cette colonne
color_sequence_number
Aide-mémoire
Vous pouvez combiner PARTITION BY avec ORDER BY pour numéroter les lignes dans chaque partition dans un ordre spécifique :
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1Cela numérote les lignes par ordre croissant de id au sein de chaque groupe type. Chaque partition recommence la numérotation à partir de 1.
Essayez vous-même
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Les fondamentaux
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function8Statistics
Built-In Aggregate Part 1Built-In Aggregate Part 2Grouping Part 1Grouping Part 2Subqueries Part 1Subqueries Part 2Recap - Total Gain ShopRecap - Scooter ShopRecap - Coffee Shop11Window Functions part 1
ROW_NUMBER functionORDER BY criterionPARTITION BY criterionPARTITION & ORDERLEAD & LAG FunctionsRecap - LEAD & LAGRecap - PicturesRecap - Boxes3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns