Verwenden Sie diese Option bei Problemen, bei denen eine oder mehrere Zeilen aus jeder Gruppe in einem Datensatz zurückgegeben werden. Trotz des Namens eignet sich dieses Tag für * Minimum- * und * Maximum- * pro Gruppenabfrage.
Ich muss oft eine Anzahl von Zeilen aus jeder Gruppe in einer Ergebnismenge auswählen. Zum Beispiel möchte ich vielleicht die 'n' höchsten oder niedrigsten letzten Bestellwerte pro Kunde auflisten. In komplexeren Fällen kann die Anzahl der aufzulistenden Zeilen pro Gruppe variieren (definiert durch ein Attribut des Gruppierungs- / übergeordneten Datensatzes). …
Ich habe einen Tisch wie diesen: ID | Val | Kind ---------------------- 1 | 1337 | 2 2 | 1337 | 1 3 | 3 | 4 4 | 3 | 4 Ich möchte eine machen SELECT, die nur die erste Zeile für jede Valzurückgibt, indem ich nach bestelle Kind. …
Ich habe ein Abfragemuster, das sehr häufig vorkommt, aber ich weiß nicht, wie ich eine effiziente Abfrage dafür schreiben soll. Ich möchte die Zeilen einer Tabelle nachschlagen, die "dem letzten Datum nicht nach" den Zeilen einer anderen Tabelle entsprechen. Ich habe zum Beispiel einen Tisch, inventoryder das Inventar darstellt, das …
Vollständige Frage neu schreiben Ich suche nach einer First () - Aggregatfunktion. Hier habe ich etwas gefunden, das fast funktioniert: CREATE OR REPLACE FUNCTION public.first_agg ( anyelement, anyelement ) RETURNS anyelement LANGUAGE sql IMMUTABLE STRICT AS $$ SELECT $1; $$; -- And then wrap an aggregate around it CREATE AGGREGATE …
Hier sind zwei Tabellen. SCHULPERSONAL SCHOOL_CODE + STAFF_TYPE_NAME + LAST_UPDATE_DATE_TIME + PERSON_ID ================================================================= ABE Principal 24-JAN-13 111222 ABE Principal 09-FEB-12 222111 PERSONEN PERSON_ID + NAME ================= 111222 ABC 222111 XYZ Hier ist meine Orakelfrage. 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 …
id value 1 50 2 60 3 55 select max(value) from tablename; Im Allgemeinen wissen wir, dass wir 60 bekommen werden, aber ich brauche den nächsten Wert 55. Wie erhalte ich den Wert 55 mit SQL?
Dies hängt mit dieser Frage zusammen: Das Verknüpfen mehrerer Tabellen führt zu doppelten Zeilen Ich habe zwei Tische, an denen ich teilnehme. Sie teilen einen Schlüssel. Die Personentabelle hat einen Namen pro Primärschlüssel, aber die E-Mail-Tabelle enthält mehrere E-Mails pro Personen-ID. Ich möchte nur die erste E-Mail pro Person anzeigen. …
Angesichts der Tabelle: 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) Die Tabelle enthält 20 Millionen Datensätze , was relativ gesehen keine große Anzahl ist. Aber es macht …
Ich habe zwei Tabellen namens recordund record_history. Für jeden Datensatz kann es mehr als einen Verlauf geben. Sie können durch idund verbunden werden record_id. Ich möchte alle recordEinträge mit den neuesten record_historyDaten erhalten. Ich habe die Abfrage wie folgt erstellt: SELECT rec.id, rec.name, rech1.data AS last_history_data FROM record rec LEFT …
Zum Beispiel haben wir: element | group_value | value a | 1 | 2000 a | 2 | 1500 a | 2 | 2500 b | 1 | 1000 Ich möchte nur die letzten 3 Datensätze zurückgeben, da dies die Datensätze mit dem maximalen Gruppenwert für jedes Element sind. Ich …
Ich benutze Postgres 9.5. Ich habe eine Tabelle, in der Seitentreffer von mehreren Websites aufgezeichnet werden. Diese Tabelle enthält ungefähr 32 Millionen Zeilen vom 1. Januar 2016 bis 30. Juni 2016. CREATE TABLE event_pg ( timestamp_ timestamp without time zone NOT NULL, person_id character(24), location_host varchar(256), location_path varchar(256), location_query varchar(256), …
Wie kann ich GROUP BYeine Spalte, während nur nach einer anderen sortieren . Ich versuche Folgendes zu tun: SELECT dbId,retreivalTime FROM FileItems WHERE sourceSite='something' GROUP BY seriesName ORDER BY retreivalTime DESC LIMIT 100 OFFSET 0; Ich möchte die letzten / n / Elemente aus FileItems in absteigender Reihenfolge auswählen , …
Ich habe mich gefragt, ob es eine Möglichkeit gibt, eine SELECTAbfrage für jeden übereinstimmenden Wert in IN durchzuführen. Beachten Sie, dass die folgende Tabelle 100 Datensätze für jeden der vom INOperator angegebenen Werte enthält. Ich möchte, dass für jede Übereinstimmung nur 50 zurückgegeben werden. SELECT TOP (50) COLUMN FROM TABLE …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.