PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 02/01/2014 12:33:11

CHR
Membre

[RESOLU] - SELECT pour choisir une première occurence en fonction

Merci encore pour la réponse super rapide à mon premier post tout à l'heure et puisque j'y ai aussi planché sans grand succès, toujours sur pagila mais cette fois sur la table film où je souhaiterai obtenir le premier titre disponible pour chacun des ratings existants (G, PG-13, NC-17). Dans MS-Access j'utilise la fonction d'agrégation "last(title)" mais je sais que "last" n'existe pas dans pg.

rating      Nb         Title (film_id)
G            200        Bunch Minds (107)
PG-13      187        Butch Panther (108)   
NC-17     299         Cabin Flash (110)

Voilà et encore merci pour votre aide,
chr

Dernière modification par CHR (02/01/2014 13:53:45)

Hors ligne

#2 02/01/2014 13:06:31

rjuju
Administrateur

Re : [RESOLU] - SELECT pour choisir une première occurence en fonction

Vous pouvez utiliser la fonction d'aggrégation min(title) qui renverra le premier titre par ordre alphabétique.

Hors ligne

#3 02/01/2014 13:17:52

CHR
Membre

Re : [RESOLU] - SELECT pour choisir une première occurence en fonction

merci ! Et si je souhaite obtenir le titre lié au plus film_id ?

Hors ligne

#4 02/01/2014 13:49:52

rjuju
Administrateur

Re : [RESOLU] - SELECT pour choisir une première occurence en fonction

Cette requête devrait convenir (en supposant que vous vouliez dire "plus petit film_id") :

SELECT sql.rating, sql.nb, f.title
FROM (
  SELECT rating,count(*) as nb, min(film_id) as film_id
  from film
  group by 1
) sql
JOIN film f ON f.film_id = sql.film_id;

Hors ligne

#5 02/01/2014 13:53:23

CHR
Membre

Re : [RESOLU] - SELECT pour choisir une première occurence en fonction

Impressionnée par les administrateurs de ce site, ça fonctionne parfaitement bien.
Que 2014 vous apporte des questions sympa et plein de bonnes choses et encore MERCI pour l'aide !

Hors ligne

Pied de page des forums