Jump to content

Archived

This topic is now archived and is closed to further replies.

DillyDong

PHP Selecting only 10 rows from each of multiple WHERE conditions

Recommended Posts

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!

Share this post


Link to post
Share on other sites
I don't think you can select a limit in a IN clause. You'll have to run 3 seperate queries I believe

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.