Disons que j'ai le tableau suivant avec des centaines de jouets de différentes couleurs ...MySQL requête avec plusieurs LIMITES
---------------------------
ITEM | COST | COLOR
---------------------------
1 | 12.00 | BLUE
2 | 10.98 | RED
3 | 9.34 | BLUE
4 | 11.33 | WHITE
5 | 8.00 | YELLOW
. | . | .
. | . | .
. | . | .
Si je voulais sélectionner les trois jouets bleus prix le plus bas, je pouvais d'écrire des cours. ..
SELECT * FROM TOYS WHERE Color = 'BLUE' ORDER BY COST LIMIT 3;
Mais, est-il un moyen que je peux choisir le un certain nombre de jouets jaune, blanc et bleu le plus bas prix, comme si je disais uniquement spécifié ...
SELECT * FROM TOYS WHERE COLOR = 'YELLOW' (LIMIT 1) AND COLOR = 'WHITE' (LIMIT 3) AND COLOR = 'BLUE' (LIMIT 2) ORDER BY COST
Est-il possible de faire cela entièrement dans MySQL sans passer par le tableau en PHP?
Je suppose que ce qui suit * ne * fonctionnerait pas car il mâcherait des ressources: Exécuter la requête complexe sans la clause WHERE finale (par exemple, " COULEUR "ci-dessus); stocker les résultats dans une table temporaire; puis exécutez une requête beaucoup plus simple contre la table temporaire? Puisque le site Web pourrait potentiellement avoir des centaines, voire des milliers, d'utilisateurs simultanés, il y a une chance que cette requête soit exécutée des centaines de fois par seconde. Ai-je raison de supposer qu'il y a beaucoup plus de frais généraux dans la création et la suppression de tables temporaires que de multiples requêtes complexes? –