Here is sqlFiddle for my database and my count query...
http://sqlfiddle.com/#!2/45150/6
If I run a select * query, it returns me one row, however when I run count on the same query, it gives me 2 results...
This is the the query for count, it produces different result for "select *"
SELECT count(*)
FROM (`user_info`)
JOIN `users` ON `users`.`id`=`user_info`.`user_id`
LEFT JOIN `profile` ON `users`.`id`=`profile`.`user_id`
JOIN `categories` ON `categories`.`user_id` = `users`.`id`
WHERE `users`.`is_enabled` = 1
AND `categories`.`cat_id` IN (1, 3, 4)
AND (
user_info.first_name LIKE '%bob%'
OR user_info.last_name LIKE '%bob%'
OR profile.title LIKE '%bob%'
OR profile.overview LIKE '%bob%'
)
GROUP BY `users`.`id`
group by users.id