Ich möchte meine Datenbank abfragen, um zu wissen, welcher Anteil/Prozentsatz der Elemente einer Tabelle größer/kleiner als ein gegebener Wert sind.Postgresql: Abfrage zu wissen, welcher Anteil der Werte größer/kleiner
Zum Beispiel sagen sie, ich habe eine Tabelle shopping_list
mit folgendem Schema:
id integer
name text
price double precision
mit Inhalt:
id name price
1 banana 1
2 book 20
3 chicken 5
4 chocolate 3
ich jetzt ein neues Objekt mit dem Preis 4 kaufen werde, und Ich würde gerne wissen, wo dieser neue Artikel in der Einkaufsliste platziert wird. In diesem Fall wird das Element größer als 50% der Elemente sein.
Ich weiß, dass ich zwei Abfragen ausführen kann und count
die Anzahl der Elemente, z.B .:
-- returns = 4
SELECT COUNT(*)
FROM shopping_list;
-- returns = 2
SELECT COUNT(*)
FROM shopping_list
WHERE price > 4;
Aber ich mag es mit einer einzigen Abfrage tun, um die Ergebnisse zu vermeiden Nachbearbeitung.
das Problem, das ich mit diesen Lösungen sehe, ist auf diese Weise gibt es noch zwei 'SELECT' Anfragen (? Vielleicht weniger effizient) sind und darüber hinaus würde ich noch tun müssen, das Verhältnis von mir nach der Abfrage. –