|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Inscription : avril 2011 Messages : 50 ![]() |
Bonjour,
J'ai un petit probleme. J'ai une table avec des articles et des categories. article_id, cat_id J'aimerais selectionner 3 articles par categories donc j'ai la requete suivante : Code :
Y'a moyen de fire mieux ? ou bien je devrais utiliser une vue issue de cette requete ? Une vue serais elle plus performante a la longue ? edit : bon ok, la vue est aussi lente ! Et pas moyen de faire de vue materialise sur postgresql 8.4 je crois ... Si vous avez une autre solution je suis preneur |
||
|
|
00
|
|
|
#2 |
![]() ![]() Alain Ingénieur d'études décisionnel Inscription : mai 2002 Messages : 4 933 ![]() |
Quelle version de PostgreSQL utilises-tu ?
Quels sont les index présents sur ta table ? Est-ce bien SELECT a1.* .... GROUP BY a1.article_id que tu exécutes ?
__________________
Modérateur Langage SQL N'oubliez pas le bouton et pensez aux balises [code]Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
|
|
|
00
|
|
|
#3 | ||
![]() ![]() Inscription : octobre 2008 Messages : 1 707 ![]() |
Si le regroupement se fait par cat_id et qu'il faut garder les 3 prix les plus faibles, il pourrait être plus efficace de passer par les fonctionnalités de fenêtrage.
Le modèle de requête serait du style: Code :
|
||
|
|
00
|
|
|
#4 |
![]() ![]() ![]() Cédric DuprezGestion de bases de données techniques Inscription : avril 2002 Messages : 4 179 ![]() |
Les fonctions de fenêtrages sont disponibles à partir de PostgreSQL 8.4.
C'est effectivement le moyen le plus efficace pour traiter ce genre de question.
__________________
Rédacteur / Modérateur SGBD Mes tutoriels et la FAQ MySQL ---------------------------------------------------- Pensez aux balises code et au tag Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça
|
|
|
00
|
|
|
#5 | |||
|
Membre régulier
![]() Inscription : avril 2011 Messages : 50 ![]() |
J'utilise postgresql 8.4 ! Merci a tous !
La soluton suivante fonctionne a merveille ! Citation:
|
|||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com