«greatest-n-per-group» etiketlenmiş sorular

Bunu, bir veri kümesindeki her gruptan bir veya daha fazla satır döndürmeyi içeren sorunlar için kullanın. İsme rağmen, bu etiket grup sorguları başına * minimum- * ve * maksimum- * için uygundur.

6
Grup başına n satır alınıyor
Sonuç setinde her gruptan birkaç satır seçmem gerekiyor. Örneğin, müşteri başına 'n' en yüksek veya en düşük son sipariş değerlerini listelemek isteyebilirim. Daha karmaşık durumlarda, listelenecek satırların sayısı grup başına değişebilir (gruplandırma / ana kaydın bir niteliği ile tanımlanır). Bu bölüm kesinlikle isteğe bağlıdır / fazladan kredi için ve insanları …

5
Her grubun ilk satırı nasıl seçilir?
Böyle bir masam var: ID | Val | Kind ---------------------- 1 | 1337 | 2 2 | 1337 | 1 3 | 3 | 4 4 | 3 | 4 Bunu yapmak SELECTiçin, her birinin yalnızca ilk sırasını Valgöstererek sipariş vermesini istiyorum Kind. Örnek çıktı: ID | Val | Kind …

6
“En son karşılık gelen satır” ı nasıl verimli bir şekilde alabilirim?
Çok yaygın olması gereken bir sorgu şablonuna sahibim, ancak bunun için nasıl verimli bir sorgu yazacağımı bilmiyorum. Başka bir tablonun satırlarının "en sonra çıkmadığı son tarih" e karşılık gelen bir tablonun satırlarına bakmak istiyorum. inventoryBelirli bir günde sahip olduğum envanteri temsil eden bir masam var . date | good | …


3
Hangisinin maksimum tarih veya en son tarih olduğunu seçin
İşte iki tablo. SCHOOL_STAFF SCHOOL_CODE + STAFF_TYPE_NAME + LAST_UPDATE_DATE_TIME + PERSON_ID ================================================================= ABE Principal 24-JAN-13 111222 ABE Principal 09-FEB-12 222111 KİŞİLER PERSON_ID + NAME ================= 111222 ABC 222111 XYZ İşte benim kehanet sorgu. SELECT MAX(LAST_UPDATE_DATE_TIME) AS LAST_UPDATE, SCHOOL_CODE, PERSON_ID FROM SCHOOL_STAFF WHERE STAFF_TYPE_NAME='Principal' GROUP BY SCHOOL_CODE, PERSON_ID ORDER BY SCHOOL_CODE; …

4
Birincil anahtarda çok satır içeren bir birleşimden ilk satırı seçme
Bu şu soru ile ilgilidir: Birden çok tabloya katılmak yinelenen satırlarla sonuçlanır Katıldığım iki tablo var. Bir anahtarı paylaşıyorlar. Kişi tablosunun birincil anahtar başına bir adı vardır, ancak e-posta tablosunda kişi kimliği başına birden çok e-posta bulunur. Kişi başına yalnızca ilk e-postayı göstermek istiyorum. Şu anda birden fazla e-postaları olduğu …


2
Büyük tablodan grup başına en yüksek değeri elde etmek için etkili sorgu
Tablo verildiğinde: Column | Type id | integer latitude | numeric(9,6) longitude | numeric(9,6) speed | integer equipment_id | integer created_at | timestamp without time zone Indexes: "geoposition_records_pkey" PRIMARY KEY, btree (id) Tabloda göreceli olarak çok sayıda olmayan 20 milyon kayıt vardır. Ancak sıralı taramaları yavaşlatır. max(created_at)Her birinin son kaydını …

2
PostgreSQL'de DISTINCT'i nasıl daha hızlı hale getirebilirim?
station_logsPostgreSQL 9.6 veritabanında bir tablo var : Column | Type | ---------------+-----------------------------+ id | bigint | bigserial station_id | integer | not null submitted_at | timestamp without time zone | level_sensor | double precision | Indexes: "station_logs_pkey" PRIMARY KEY, btree (id) "uniq_sid_sat" UNIQUE CONSTRAINT, btree (station_id, submitted_at) Her biri için …

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.