Articles of postgresql

Wählen Sie Zeilen aus, die einige Kriterien und den maximalen Wert in einer bestimmten Spalte erfüllen

Ich habe eine Tabelle mit Metadaten für Updates eines Softwarepakets. Die Tabelle hat Spalten id, name, version . Ich möchte alle Zeilen auswählen, in denen der Name eine der angegebenen Namen ist, und die Version ist das Maximum aller Zeilen mit diesem Namen. Zum Beispiel, angesichts dieser Aufzeichnungen: +—-+——+———+ | id | name | version […]

Mitarbeiter mit dem größten Gehalt in der Abteilung

Ich habe heute ein paar SQL– Aufgaben in Hacker News gefunden, aber ich bin dabei, die zweite Aufgabe in Postgres zu lösen, die ich hier beschreiben werde: Sie haben folgende einfache Tabellenstruktur: listn Sie die Mitarbeiter auf, die in ihren jeweiligen Abteilungen das größte Gehalt haben. Ich habe hier eine SQL Fiddle eingerichtet , mit […]

PostgreSQL-Abfrage, die mehrere Zeilen basierend auf der ID zurückgibt

Ich versuche herauszufinden, wie ich mehrere Zeilen aus einer Tabelle basierend auf der ID-Spalte auswählen kann. Etwas wie das: select * from table where id=1 or id=2 or id=3 Sollte ich jede ID durchlaufen und für jede Iteration eine Abfrage durchführen?

Umwandlung von Hex-String in Integer in Amazon Redshift

Amazon Redshift basiert auf ParAccel, das auf Postgres basiert. Aus meinen Nachforschungen geht hervor, dass der bevorzugte path zur Umwandlung von hexadezimalen characterfolgen in Ganzzahlen in Postgres über ein Bitfeld erfolgt, wie in dieser Antwort beschrieben . Im Falle von Bigint wäre dies: select ('x'||lpad('123456789abcdef',16,'0'))::bit(64)::bigint Leider schlägt dies bei Redshift fehl mit: ERROR: cannot cast […]

PostgreSQL: Beitritt der Zählung einer anderen Tabelle

Ich habe drei Tabellen: users , items und boards . create table users ( id serial primary key, name text ); create table items ( id serial primary key, user_id int, title text ); create table boards ( id serial primary key, user_id int, title text );n Ich möchte alle Benutzer mit der Anzahl der […]

PostgreSQL Wählen Sie, wo mehrere OR-statementen

Ich habe die folgende PgSQL-Abfrage, in der ich schaue, wo user_id gleich einem von einem Satz von IDs ist, die ich suche. Frage ist, gibt es eine Möglichkeit, einfach die Aussage, so dass ich nicht weiterhin user_id = setzen muss? SELECT * FROM comments WHERE session_id=1 AND (user_id=10 OR user_id=11 OR user_id=12 OR user_id=13 OR […]

FEHLER: Abfrage hat kein Ziel für Ergebnisdaten

Ich habe eine function in PostgreSQL , um Folgendes einzufügen CREATE TABLE gtab83 ( orderid integer NOT NULL DEFAULT nextval('seq_gtab83_id'::regclass), acid integer, slno integer, orderdte date ) und erstellte Function ist CREATE OR REPLACE FUNCTION funcInsert(iacid int,islno int,idate date) RETURNS int AS $$ declare id_val int; BEGIN INSERT INTO GTAB83 (acid,slno,orderdte) VALUES (iacid,islno,idate) RETURNING orderid […]

Wie erstelle ich eine benutzerdefinierte Sequenz in PostgreSQL basierend auf dem date der Erstellung der Zeile?

Ich bin dabei, eine Rails-Anwendung zu erstellen, die eine (sehr alte) Legacy-Auftragsverwaltungsanwendung für meinen Arbeitgeber replace wird. Eine der Spezifikationen für das neue System ist, dass das Bestellnummerierungssystem beibehalten wird. Im Moment sind unsere Bestellnummern wie folgt formatiert: Die ersten vier Ziffern sind das aktuelle Jahr Die nächsten zwei Ziffern sind der aktuelle Monat Die […]

Postgresql: Wie wähle ich Top n Prozent (%) Einträge aus jeder Gruppe / Kategorie

Wir sind neu bei Postgres, wir haben folgende Abfrage, mit der wir Top N datasätze aus jeder Kategorie auswählen können. create table temp ( gp char, val int ); insert into temp values ('A',10); insert into temp values ('A',8); insert into temp values ('A',6); insert into temp values ('A',4); insert into temp values ('B',3); insert […]

SQL-Abfrage, wo Feld enthält keinen numerischen Wert

Ich habe eine Tabelle mit einer Adresse Straße, ich möchte sicherstellen, dass die Adresse die Straße sowie Haus / Gebäude Nummer enthält (sächsisch 17) Ich möchte eine SQL-Abfrage schreiben, um Zeilen zu finden, wo Feldadresse keinen numerischen Wert enthält. Wie kann ich das machen?