Accueil > Forum > > > > pb requete mysql
pb requete mysql
samedi 4 septembre 2004 à 15:26:25 |
pb requete mysql

Tomcube
|
Salut à tous, J'ai un problème pour créer une requête mysql. J'ai une table "vente" avec des champs "id_vente, id_vendeur, id_objet, prix, qtt". Là dedans, je mets toutes les propositions de vente des clients. Le but est de faire une page d'achat pour les acheteurs avec l'affichage des trois plus petits prix et de la quantité disponible pour chaque prix. Et ce, pour une trentaine d'objets sur la même page. Le problème, c'est que j'ai pas envie de faire 200 requêtes pour réaliser cette page. Pouvez-vous m'aider à me monter une requete condensée pour avoir tout ça en un coup. ? ------------------------------- Life is a game, Enjoy ! ^^
|
|
samedi 4 septembre 2004 à 17:17:55 |
Re : pb requete mysql

gibozsec
|
A mon avis tu vas devoir faire 2 requetes. Il faut une variable $page qui est le muméro de la page (page1=0, page2=1,...) et tu fait $page=$page*30; pour savoir a partir de quel article tu doit afficher. Ensuite tu sélectionne la liste des articles à afficher avec :
SELECT DISTINCT(id_objet) as id FROM vente LIMIT $page,30;
|
Ensuite tu fait une boucle, dans la boucle tu lit le nom de l'objet (que tu met par exemple dans $objet) et tu fait
SELECT * FROM vente WHERE id_objet=$objet ORDER BY prix LIMIT 0,3
|
Cette requète renverra les 3 plus bas prix pour l'objet en cours. Grrrrrrrrrrr
|
|
samedi 4 septembre 2004 à 17:43:08 |
Re : pb requete mysql

Tomcube
|
Merci de ta réponse
Je suis d'accord, mais si je fais une boucle pour chacun des 30 produits, ça revient au même, je fais donc 31 requêtes, c'est ça le problème. Je me demandais s'il était possible de réaliser ça avec un minimum de requête. Parce que je vois mal le serveur SQL tenir avec 3000 requêtes la minute ...
------------------------------- Life is a game, Enjoy ! ^^
|
|
samedi 4 septembre 2004 à 18:35:55 |
Re : pb requete mysql

windu
|
Si on part du principe que les memes produits ont le meme id_objet si ce n'est pas le cas corrige ce détail...) et si tu ne veux qu'une seule requete SQL, tu peux faire: SELECT * FROM vente ORDER BY id_objet,prix
|
tu auras tous tes produits à vendre classés par id_objet puis par prix... Que la Force soit avec toi, Jeune Padawan!!!
|
|
samedi 4 septembre 2004 à 19:05:23 |
Re : pb requete mysql

gibozsec
|
Ok, j'avais pas compris je croyait que tu voulais limiter le nombre de requètes à écrire pas à exécuter. Une autre solution serait de faire une requète du genre SELECT MIN(prix) as prixMini, id_vente, qtt FROM vente GROUP BY id_ojet LIMIT $page,30; Le problème c'est que tu n'y afficherais que l'objet le moins chère et pas les 3 moins chère. La fonction MIN permet peut etre de renvoyer 3 résultats essaye de te renseigner, si c'est la cas tu le fera en 1 requete. Grrrrrrrrrrr
|
|
samedi 4 septembre 2004 à 21:04:01 |
Re : pb requete mysql

Tomcube
|
Merci de vos réponses !
> Windu, ta requête a le mérite d'être courte et simple, mais si il y a 10000 ordres de vente par les clients, pour trier les ordres entre ceux qui correspondent aux trois plus bas prix et les autres, ça doit faire ramer le serveur à mort à chaque chargement de la page.
> gilbozec, la dernière requête que tu as mis est une solution pour avoir le plus bas des prix. c'est la solution par laquelle j'avais commencé à réfléchir. le problème c'est que ça ne donne pas le deuxième plus bas, ni le 3e ...
Je recherche bien le système qui permet de réduire le temps d'exécution et qui sollicite le moins possible le serveur. si c'est long à écrire ça me dérange pas. Si ça me permet de réduire le nombre de requête de 30 à 5 ça me va déjà !
peux-on faire quelque chose au niveau des sous-requêtes qu'on pourrait mettre ? sinon, je serai obliger de me restreindre à n'afficher que le plus bas des prix, et ensuite de faire cliquer l'acheteur sur un des produits pour afficher les différents prix de ce produit ...
------------------------------- Life is a game, Enjoy ! ^^
|
|
dimanche 5 septembre 2004 à 14:40:52 |
Re : pb requete mysql

Tomcube
|
J'ai la requête permettant d'obtenir les 2 premiers prix. Il faut en fait utiliser 2 fois la même table et d'utiliser HAVING COUNT(DISTINCT prix) <= 2. Par contre, je ne sais pas comment faire pour avoir le nombre de quantité dispo pour ces deux premiers prix.
------------------------------- Life is a game, Enjoy ! ^^
|
|
Cette discussion est classée dans : mysql, requete, id, prix, vente
Répondre à ce message
Sujets en rapport avec ce message
Prob requete mysql [ par zzzzzz ]
salut phpmyadmin me genere ca j'aimerai faire un champ qui s'auto incremente mais ca marche pas la requete de phpmyadmin:Erreurrequête SQL : ALTER T
probleme requete mysql [ par ad102 ]
bonjour, J'ai un grand besoin d'aide car je ne comprend pa ce qui se passe :j'ai un message d'erreur : Warning: mysql_db_query(): supplied argument
Probleme de requete pour affichage membre [ par magicjim ]
Bonjour @ tous, voila mon probleme je fait une requete par le biais d'un formulaire qui envoit l'id du membre, mais a l'affichage cela ne me montre qu
centrer une requete mysql [ par martiall ]
Bonjour,bon le titre est un peu tiré par les cheveux mais bon...Pour simplifier, j'ai une table user (ID_USER, PSEUDO)depuis une page, je séléctionne
problème de requete SQL avec ID aléatoire [ par djinko ]
Bonsoir,Ayant chercher pendant des heures et des heures, je me tourne vers vous pour avoir une explication car franchement, je nage...J'ai crée un esp
pb requete mysql [ par joduak ]
Salut à vous! J'ai un ptit pb de requête mysql... J'insère un certain nbre d'informations à un moment donné, par exemple la requete suivante: $requet
Problème requete mysql [ par tony1239456 ]
Bonjour, j'ai un gros problème avec ma requete mysql. J'ai crée une table avec 6 champs :id : int(5) - auto_incrementtitre : varchar(30)des : varchar(
Requete PHP [ par AlexPoulard ]
Bijour à tous ! J'ai un petit probleme de lecture d'une base de données : Dans ma base j'ai des enregistrements (quelques entrées inutiles sont cachée
Requete mysql [ par antho2005 ]
Salut,j'ai un blem je fais une requete mysql je fais mysql_query mais il ne supprime rien, il doit y avoir une erreur.Voici mon bout de code :$requete
Requete MySQL trop dure pour moi [ par rouliendelavegas ]
Bonjour, J'ai un petit problème pour savoir comment faire ce que je veux grace à MySQL: Tout est dans l'image : Alors j'ai essayé ça
Livres en rapport
|
Derniers Blogs
TECHDAYS PARIS 2010 : ADMINISTRATION SHAREPOINT 2010TECHDAYS PARIS 2010 : ADMINISTRATION SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Patrick Guimonet et Benoit Hamet Cette session traitera des différents points exigés durant les taches d'administration : Planification (architecture, hébergement, authentification, .) Opération e...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [TECHDAYS 2010] #03 - WEB CONTENT MANAGEMENT SOUS SHAREPOINT 2010[TECHDAYS 2010] #03 - WEB CONTENT MANAGEMENT SOUS SHAREPOINT 2010 par pierre
Stephane Cordonnier de MCNext nous présente les fonctionnalités Web Content Management (WCM) sous SharePoint 2010. Qu'est-ce que le WCM ECM, GED, RM, WCM c'est quoi Plateforme SharePoint Versions SharePoint 2010 SharePoint Fondation...
Cliquez pour lire la suite de l'article par pierre [DESIGN PATTERNS] PARTIE 2: DIP: DEPENDENCY INVERSION PRINCIPLE[DESIGN PATTERNS] PARTIE 2: DIP: DEPENDENCY INVERSION PRINCIPLE par tja
C'est le dernier principe des principes du Design Orienté Objet (The Principles of Object Oriented Design) fondés par Robert C. Martin plus connu sous le pseudonyme d'Uncle Bob.
l'image empruntée de LosTechies.
Je ne traite pas les principes dans...
Cliquez pour lire la suite de l'article par tja TECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURSTECHDAYS PARIS 2010 : SHAREPOINT 2010 POUR LES DéVELOPPEURS par ROMELARD Fabrice
Animé par: Laurent Cotton Le développement dans SharePoint 2010 passe par plusieurs axes qui seront évoqués dans cette session, mais plus particulièrement les développements simples lié au besoin Business Business Connectivity Services Ce BCS es...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOURTECHDAYS PARIS 2010 : PLEINIèRE DERNIER JOUR par ROMELARD Fabrice
Cette session est la dernière pleinière de ces 3 jours de TechDays Paris 2010. Généralement, cette troisième journée est plus axée sur l'avenir vu par Microsoft. Après un retour sur l'avenir vu par la Science Fiction ou par ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|