Menu
Coddy logo textTech

PARTITION BY ölçütü

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'dır

Satırları her grup için ayrı ayrı numaralandırmamızı sağlar 

Örneğin:

idtype
132t1
52t2
92t1
154t3
198t1
SELECT id, type, ROW_NUMBER() OVER (PARTITION BY type ORDER BY id) as row_num
FROM table1

Bu, her türü kendi içinde numaralandıran bir sütun oluşturur:

idtyperow_num
132t11
52t21
92t11
154t31
198t13

id 92, type t1 içindeki en küçük id olduğu için row_num değeri 1'dir.

Not: ROW_NUMBER(), her bölümdeki satırların nasıl numaralandırılması gerektiğini belirlemek için OVER() içinde bir ORDER BY yan tümcesi gerektirir.

PARTITION BY içinde birden fazla sütun bile belirtebiliriz:

ROW_NUMBER() OVER (PARTITION BY type, hue ORDER BY id)
challenge icon

Görev

Kolay

Kullanılabilir tablolar ve sütunlar:

  • doors: id, publication_year
  • doors_specs: id, country, color

Bir fabrika kapılar üretiyor. publication_year değeri 2000 değerinden küçük olan kapıları, her country ve color kombinasyonu için numaralandırması gerekiyor. Bu sütuna row_num adını verin.

Kapılar, her grup içinde id değerlerine göre artan sırada numaralandırılmalıdır. Özellikleri olmayan kaparlar göz ardı edilmelidir. Sonucu id değerine göre artan sırada sıralayın. 

Kendin dene

quiz iconKendini test et

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

Kendi başına pratik yap: SQL playground