Pytania otagowane jako greatest-n-per-group

Użyj tego w przypadku problemów, które obejmują zwracanie jednego lub więcej wierszy z każdej grupy w zestawie danych. Pomimo nazwy, ten tag jest odpowiedni dla zapytań * minimum- * i * maximum- * na grupę.

6
Pobieranie n wierszy na grupę
Często muszę wybrać liczbę wierszy z każdej grupy w zestawie wyników. Na przykład może chciałbym podać najwyższe lub najniższe wartości ostatniego zamówienia „n” na klienta. W bardziej złożonych przypadkach liczba wierszy do wyświetlenia może się różnić w zależności od grupy (zdefiniowanej przez atrybut rekordu grupowania / rodzica). Ta część jest …


6
Jak wydajnie uzyskać „najnowszy odpowiedni wiersz”?
Mam wzorzec zapytania, który musi być bardzo powszechny, ale nie wiem, jak napisać dla niego wydajne zapytanie. Chcę wyszukać wiersze tabeli odpowiadające „najnowszej dacie nie później” niż wiersze innej tabeli. Mam, inventorypowiedzmy, tabelę, która reprezentuje ekwipunek, który przechowuję pewnego dnia. date | good | quantity ------------------------------ 2013-08-09 | egg | …


3
Wybierz, która data jest maksymalna lub ostatnia
Oto dwie tabele. 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 OSOBY PERSON_ID + NAME ================= 111222 ABC 222111 XYZ Oto moje zapytanie Oracle. 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
Jak wybrać pierwszy wiersz ze sprzężenia, który zwraca wiele wierszy na klucz podstawowy
Jest to związane z tym pytaniem: łączenie wielu tabel powoduje zduplikowanie wierszy Mam dwa stoły, do których dołączam. Dzielą klucz. Tabela osób ma jedną nazwę na klucz podstawowy, ale tabela e-mail zawiera wiele wiadomości e-mail na identyfikator osoby. Chcę pokazać tylko pierwszy e-mail na osobę. Obecnie otrzymuję wiele wierszy na …


2
Wydajne zapytanie, aby uzyskać największą wartość na grupę z dużej tabeli
Biorąc pod uwagę tabelę: 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) Tabela zawiera 20 milionów rekordów, co nie jest stosunkowo dużą liczbą. Powoduje to jednak spowolnienie skanowania …

2
Jak przyspieszyć DISTINCT ON w PostgreSQL?
Mam tabelę station_logsw bazie danych PostgreSQL 9.6: 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) Próbuję uzyskać ostatnią …

1
WYBRAĆ LIMIT 1 na wartość kolumny?
Powiedzmy, że mam następującą tabelę ----------------------------- | user_id | comment | ----------------------------- | 2 | thats cool | | 2 | awesome | | 3 | i hate this | | 3 | okay | | 6 | this is weird | | 6 | hello? | | 6 | …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.