2016-04-04 24 views
0

Tablo_a sütunu product_id, store_id, x ile var.Postgres sıralama bileşik anahtar

store_id   | product_id    | sequence_number 
1     | 1      | 1 
1     | 1      | 2 
1     | 1      | 3 
1     | 2      | 1 
1     | 2      | 2 
2     | 1      | 1 
2     | 1      | 2 

o sql sorgusu ile bunu yapmak mümkün mü:

Ben

create table_b as 
select store_id, product_id, sequence_number 
from table_a 

sequence_number otomatik şuna benzer gerekiyordu numarasını oluşturulur istiyor?

+0

Sen ') (ROW_NUMBER' arıyoruz: http://www.postgresql.org/docs/current/static/tutorial-window.html –

cevap

0

Sen row_number() ile yapabilirsiniz:

create table_b as 
    select store_id, product_id, 
      row_number() over (partition by store_id, product_id 
           order by NULL 
          ) as sequence_number 
    from table_a; 
+0

Teşekkür ! Ama NULL tarafından siparişin anlamı nedir? –

+0

@YukaFujisaku. . . Bu, 'order by' maddesinin dışına çıkmakla eşdeğerdir. Bununla birlikte, onu dışarıda bırakmanın biraz kafa karıştırıcı olduğunu düşünüyorum çünkü çoğu veritabanında bunu gerektirir. –

+0

Açıklama için teşekkürler –

İlgili konular