Menu
Coddy logo textTech

PARTITION BY criterion

Coddy'nin SQL Journey'sinin Temeller bölümünün bir parçası — ders 59 / 72.

OVER () ifadesi için başka bir seçenek PARTITION BY'dır.

Her grup için satırları ayrı ayrı numaralandırmamıza olanak tanır. 

Ö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ıracak bir sütun oluşturacaktır:

idtyperow_num
132t11
52t21
92t11
154t31
198t13

id 92, type t1 içindeki en küçük id olduğu için row_num 1 değerine sahiptir.

Not: ROW_NUMBER(), her bir bölüm içindeki satırların nasıl numaralandırılacağını belirlemek için OVER() içinde bir ORDER BY ifadesi gerektirir.

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

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

Görev

Kolay

Mevcut 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. publication_year değeri 2000'den küçük olan her bir country ve color kombinasyonu için kapıları numaralandırması gerekiyor. Bu sütunu row_num olarak adlandırın.

Kapılar, her grup içinde id değerlerine göre artan sırada numaralandırılmalıdır. Özellikleri (specs) olmayan kapılar göz ardı edilmelidir. Nihai 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