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
COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE?COMMENT MAPPER UNE VUE SQL SUR UNE COLLECTION DE COMPLEX TYPE? par Matthieu MEZIL
Avec EF, les vues doivent être mappées sur des entity types. Le problème c'est que les entity types doivent avoir une clé. Avec EF, nous avons les complex type qui n'ont pas de clé mais les vues ne peuvent pas être mappées dessus. Avec EF4, il est possibl...
Cliquez pour lire la suite de l'article par Matthieu MEZIL [WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL?[WF4] UN BINDING ACTIVITY/ACTIVITYDESIGNER QUI PASSE MAL? par JeremyJeanson
Certain d'entre vous on peut être vécu cette situation embarrassante après quelques temps passer avec WF4 : Au début avec mon " ActivityDesigner" , tout allait bien. Et puis un jour j'ai au des problèmes de " Binding" . Alors nous sommes allé sur le site ...
Cliquez pour lire la suite de l'article par JeremyJeanson MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ?MYTIC - SHAREPOINT 2010 : DéJà UN MYTHE MICROSOFT ? par junarnoalg
La prochaine session de MyTIC aura lieu à Namur, le 23 mars prochain. Pendant presque une heure, nous parlerons de SharePoint 2010. Voici un aperçu du programme.
Accueil : 17h30 Début de la session : 18h00 - Les nouvelles int...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
Academy System (10.9.4.0)ACADEMY SYSTEM (10.9.4.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Xilisoft Convertisseur Vidéo Ultimate (5.1.39.0305)XILISOFT CONVERTISSEUR VIDéO ULTIMATE (5.1.39.0305)Xilisoft Convertisseur Vidéo Ultimate est un outil puissant de conversion vidéo, facile à utilise... Cliquez pour télécharger Xilisoft Convertisseur Vidéo Ultimate Xilisoft DVD Ripper Ultimate (5.0.64.0304)XILISOFT DVD RIPPER ULTIMATE (5.0.64.0304)Xilisoft DVD Ripper Ultimate est un logiciel excellent pour copier et convertir DVD vers presque ... Cliquez pour télécharger Xilisoft DVD Ripper Ultimate Rigs of Rods (63.3)RIGS OF RODS (63.3)c'est un jeu de multi-simulation camions,autobus voitures, avions, bateaux, hélicoptère avec défo... Cliquez pour télécharger Rigs of Rods
|