How to skip OR if AND statement row count is not 0 Heey Guys,

I have a question and i can't find the solution.
So this is my QUERY

SELECT * 
FROM `hwr_story` 
WHERE question_count = '8' 
AND (lower(subcategory) = lower('True') OR subcategory IS NULL)
ORDER BY RAND() LIMIT 1


Result:
http://cl.ly/image/1r0c2P0m3K07

So what i want, is if this return a row, i don't want the or statement.

SELECT * 
FROM `hwr_story` 
WHERE question_count = '8' AND lower(subcategory) = lower('True') 
ORDER BY RAND() LIMIT 1


But if the row count is 0 then i want it to get

SELECT * 
FROM `hwr_story` 
WHERE question_count = '8' AND subcategory IS NULL 
ORDER BY RAND() LIMIT 1


Is there anyway to do this in one Query?
You want to limit your result to one row anyway, so just write your order by like this:

SELECT * 
FROM hwr_story
WHERE question_count = '8' 
AND (lower(subcategory) = lower('True') OR subcategory IS NULL)
ORDER BY subcategory IS NULL, RAND() LIMIT 1


subcategory IS NULL returns 1 or 0, true or false. Then just sort ascending and you got it :)