Bonjour,
j'ai actuellement une application codée avec SQLite, mais je suis en train de passer à PostgreSQL, parce que SQLite commence à devenir insuffisant pour les besoins du projet.
Voici donc l'extrait hyper simplifié de la requête sur la quelle je travaille:
Imaginez la table suivante :
avec les valeurs suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part TABLE essais (content TEXT NOT NULL, ordre INTEGER NOT NULL, gr TEXT NOT NULL)
Maintenant la requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 'a' - '1' - 'e1' 'd' - '4' - 'e1' 'b' - '2' - 'e1' 'c' - '3' - 'e1' 'a' - '1' - 'e2' 'd' - '4' - 'e2' 'b' - '2' - 'e2' 'c' - '3' - 'e2'
Je sais, c'est pas correct ! Et je comprends très bien pourquoi, seulement avec SQLite ça me donnerait cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT tmp.content, tmp.ordre FROM (SELECT * FROM essais ORDER BY ordre ASC) AS tmp GROUP BY tmp.gr
En fait, mon but est de récupérer la dernière ligne pour chaque "groupe", et le ORDER BY est là pour trier les lignes comme il faut, à savoir que SQLite prend la dernière ligne pour chaque groupe lors d'un GROUP BY, ce qui n'est pas le cas de PostgreSQL (normal).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 'd', 4, 'e1' 'd', 4, 'e2'
Mais voilà, je ne vois pas comment faire ça en PostgreSQL ...
Vous avez une idée ?
Merci d'avance.
Partager