having et where

  • Auteur de la discussion Auteur de la discussion dudo
  • Date de début Date de début
WRInaute impliqué
Bonjour,

Sous Sql php, quelle est la clause la plus optimiser pour recuperer une liste produits dans une fouchette de prix entre 10 et 20 par exemple. Il parait que Having n'est pas bon, ressources.

ludo
 
WRInaute discret
En fait, théoriquement tu ne choisis pas, ça dépend du contexte.

WHERE c'est pour choisir parmis une liste.
Et HAVING c'est pour choisir dans un groupe (donc après avoir fait un GROUP BY).

Typiquement le HAVING s'utilise comme ça :
SELECT *,COUNT(produit_name) AS total FROM liste_produit GROUP BY produit_name HAVING total > 10

Pour avoir la liste et la quantité de chaque produit, seulement si il y a plus de 10 produits.
 
WRInaute impliqué
oxman a dit:
En fait, théoriquement tu ne choisis pas, ça dépend du contexte.

WHERE c'est pour choisir parmis une liste.
Et HAVING c'est pour choisir dans un groupe (donc après avoir fait un GROUP BY).

Typiquement le HAVING s'utilise comme ça :
SELECT *,COUNT(produit_name) AS total FROM liste_produit GROUP BY produit_name HAVING total > 10

Pour avoir la liste et la quantité de chaque produit, seulement si il y a plus de 10 produits.


Bonjour,

il parait que BETWEEN 40 AND 50; est plus rapide que where > and <

Je voudrais savoir aussi si il ya quelque chose qui peut faire boguer cette requete, objectif classé les produits par prix ordre croissant,
le hic je me retrouve avec les prix les plus hauts sur les 2 prmieres pages, puis ça repart dan l'ordre croissant, j'ai essayé en ajoutant ASC change rien...
cat/famille, cat2/sous famille
$sql = 'SELECT secteur,url,image,prix FROM mode WHERE cat Like "womens clothing" AND (cat2 Like "%trenchs%" OR cat2 Like "%blousons%" OR cat2 Like "vestes" OR cat2 Like "%manteaux%") ORDER BY prix LIMIT '.$debut.','.$nb_affichage_par_page;

ludo
 
WRInaute discret
Ta requête est juste.
Vérifie bien que c'est bien cette requête là que tu appelles sur l'autre page.
Car à mon avis tu en appel une autre sans le ORDER.

Concernant le BETWEEN, je ne sais pas, test :)
 
WRInaute impliqué
oxman a dit:
Ta requête est juste.
Vérifie bien que c'est bien cette requête là que tu appelles sur l'autre page.
Car à mon avis tu en appel une autre sans le ORDER.

Concernant le BETWEEN, je ne sais pas, test :)


Je pense eventuellement à autre chose: tu peux me dire quel type de champ il recommandé d'utlitiser lorsque l'on utilise des chiffres à virgules, .....
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut