Je suis aux prises avec la création d'une requête SQL impliquant des agrégats utilisant PostgreSQL. Considérez les tableaux suivants:Récupère la clé primaire de la requête groupée par SQL en utilisant PostgreSQL
CREATE TABLE thing (
id INT NOT NULL PRIMARY KEY,
price NUMERIC(10,2) NOT NULL,
description VARCHAR(255) NOT NULL,
url VARCHAR(255) NOT NULL,
location_id INT NOT NULL REFERENCES location(id)
)
CREATE TABLE location (
id INT NOT NULL PRIMARY KEY,
type INT NOT NULL,
name VARCHAR(255) NOT NULL
)
Maintenant, je voudrais obtenir tous les dossiers chose pour chaque emplacement avec location.type = xxx qui ont le plus bas prix.
Quelque chose comme:
SELECT min(price) FROM thing
INNER JOIN location ON (thing.location_id = location.id)
WHERE type = xxx
GROUP BY location_id
Cela me liste le prix le plus bas pour chaque emplacement de type xxx, mais comment puis-je obtenir les lignes (ou leurs clés primaires) de ces colonnes de chose de la table?
parfait, c'est exactement ce que je cherchais. – Haes