[snip] SELECT DISTINCT u.user_id, u.user_name, max( if(u.sex=2,25,0) + if(u.age=4,25,0) + if(u.country='gm',25,0)+ if(l.language_id='de',25,0) ) AS ranking,
c.country_code, c.country, ct.city, l.language_id, u.age, u.sex FROM userdb.user u, userdb.user_languages l, test.countries AS c LEFT JOIN test.cities AS ct ON ct.ID = u.city WHERE l.user_id = u.user_id AND u.country = c.country_code GROUP BY u.user_id HAVING ranking > 0 ORDER BY ranking desc Limit 0,10 [/snip] What are your table indexes? Can you do an EXPLAIN on the query? Thanks! Jay --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php