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'
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.grJe sais, c'est pas correct ! Et je comprends très bien pourquoi, seulement avec SQLite ça me donnerait cela :
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