PARTITION BY criterion
Coddy'nin SQL Journey'sinin Temeller bölümünün bir parçası — ders 59 / 72.
OVER () yan tümcesi için başka bir seçenek PARTITION BY'dir
Bu, her grup için satırları ayrı ayrı numaralandırmamızı sağlar
Örneğin:
| 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 table1Bu, her türün kendi içinde numaralandırıldığı bir sütun oluşturacaktır:
| id | type | row_num |
| 132 | t1 | 1 |
| 52 | t2 | 1 |
| 92 | t1 | 2 |
| 154 | t3 | 1 |
| 198 | t1 | 3 |
id 92'nin row_num'u 2'dir çünkü type t1'in id'ye göre sıralandığında ikinci satırıdır.
Not: ROW_NUMBER() bir ORDER BY yan tümcesi OVER() içinde gerektirir; bu, her bölüm içindeki satırların nasıl numaralandırılacağını belirlemek için.
PARTITION BY içinde birden fazla sütun bile belirtebiliriz:
ROW_NUMBER() OVER (PARTITION BY type, hue ORDER BY id)Görev
KolayMevcut tablolar ve sütunlar:
<strong>doors</strong>:<strong>id</strong>,<strong>publication_year</strong><strong>doors_specs</strong>:<strong>id</strong>,<strong>country</strong>,<strong>color</strong>
Bir fabrika kapı üretiyor. country ve color kombinasyonları için publication_year'ı 2000'den küçük olan kapıları numaralandırması gerekiyor. Bu sütuna row_num adını verin.
Kapılar her grup içinde id'lerine göre artan sırada numaralandırılmalıdır. Özellikleri olmayan kapılar yok sayılmalıdır. Sonucu id'ye göre artan sırada sıralayın.
Kopya kağıdı
Gruplar içindeki satırları numaralandırmak için PARTITION BY'i OVER() yan ifadesinde kullanın:
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type) as row_num
FROM table1Birden fazla sütuna göre partition yapabilirsiniz:
ROW_NUMBER() OVER (PARTITION BY type, hue)Kendin dene
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
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