DillyDong Posted August 10, 2006 Share Posted August 10, 2006 Hi all, sorry, I know the title is ambiguous, but I wasn't sure exactly how to explain it.Anyway,Say I have the following code:[code]'SELECT * FROM `table` WHERE `list_number` IN (1,3,5)[/code]Now, let's say that there are 20 rows for each matching `list_number` criteria (ie, There are 20 rows where `list_number` = 1, 20 rows where `list_number` = 3, and 20 rows where `list_number` = 5). What I would like to know is, how would I tell the MySQL query to get only 10 (in order or random, doesn't matter) rows for each `list_number`? I thought that LIMIT only worked for the entire query, not per where condition.Any help is appreciated! Thank you! Quote Link to comment Share on other sites More sharing options...
DylanBlitz Posted August 10, 2006 Share Posted August 10, 2006 I don't think you can select a limit in a IN clause. You'll have to run 3 seperate queries I believe Quote Link to comment Share on other sites More sharing options...
DillyDong Posted August 10, 2006 Author Share Posted August 10, 2006 Shucks. Using [code]WHERE (`list_number` = 1 OR `list_number` = 3 OR `list_number` = 5)[/code] is also acceptable though, so any way to implement it with that sort of code? Quote Link to comment Share on other sites More sharing options...
DylanBlitz Posted August 10, 2006 Share Posted August 10, 2006 Nope, the limit works on the full query, not a part of it. Just run the 3 queries and them the results of them into a single array if you want 1 result to show. Quote Link to comment Share on other sites More sharing options...
DillyDong Posted August 10, 2006 Author Share Posted August 10, 2006 Alright, thanks for the reply anyway :-\ Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.