Tanıdık soru, ancak Vertica ile. Her bir tag_id için toplam 5 geo_country satırını toplama (imps) göre döndürmek istiyorum. Bu aslında NEREDE maddesinin (2013150) ilk etiketinden satırları döndürenHer grup için en üst N satırı (Vertica/vsql)
SELECT tag_id,
geo_country,
SUM(imps) AS imps,
RANK() OVER (PARTITION BY tag_id ORDER BY SUM(imps) DESC) AS rank
FROM table1
WHERE tag_id IN (2013150,1981153)
AND ymd > CURRENT_DATE - 3
GROUP BY 1,
2 LIMIT 10;
: Bu başladığım sorgusu olur. Diğer etiketin sonuçlara içermesi gereken toplamı (imps) yeterince yüksek olduğunu biliyorum.
Ayrıca, En Çok N bölümünü nasıl uygularım? OVER fonksiyonu içinde bir LIMIT cümlesi eklemeyi denedim, ancak kabul edilen bir parametre gibi görünmüyor.
Bu, her seferinde kullandığım kalıptır, ancak bazı nedenlerden dolayı tatminsizdir. Sanırım analitik sorgulamalar için HAVING'e benzeyen bir şey olmasını isterdim? – kimbo305
Soruyu tamamlamak için cevabınızı kabul etmeyi düşünün. – Kermit
@ kimbo305, analitik sorguların işleyiş şekli değil, SQL standartlarını da takip etmez. – Kermit