Let's say I have the following table with hundreds of toys of various colors...
---------------------------
ITEM | COST | COLOR
---------------------------
1 | 12.00 | BLUE
2 | 10.98 | RED
3 | 9.34 | BLUE
4 | 11.33 | WHITE
5 | 8.00 | YELLOW
. | . | .
. | . | .
. | . | .
If I wanted to select the three lowest priced blue toys, I could of course write...
SELECT * FROM TOYS WHERE Color = 'BLUE' ORDER BY COST LIMIT 3;
But, is there a way that I can select the a uniquely specified number of lowest priced yellow, white, and blue toys, as if I were saying...
SELECT * FROM TOYS WHERE COLOR = 'YELLOW' (LIMIT 1) AND COLOR = 'WHITE' (LIMIT 3) AND COLOR = 'BLUE' (LIMIT 2) ORDER BY COST
Is it possible to do this fully in MySQL without walking through the array in PHP?
Why not?
select * from toys where color = 'Yellow' (LIMIT 1)
UNION
select * from toys where color = 'White' (LIMIT 3)
UNION
select * from toys where color = 'Blue' (LIMIT 2)