dachshund Posted January 15, 2015 Share Posted January 15, 2015 Hi, I'm having a bit of trouble. I want to order the same 9 results by RAND(). Currently I have them ordered by 'avg' (average views) and that's working fine, but when I add a sub query to make those 9 results scatter by random it's causing some trouble. Code I currently have that works: $sql = "SELECT *, views / HOUR(TIMEDIFF(NOW(), date)) as avg FROM content WHERE date BETWEEN CURDATE() - INTERVAL 30 DAY AND NOW() - INTERVAL 2 HOUR AND views > 600 AND live = '0' ORDER BY avg DESC LIMIT 9"; What I'm trying to achieve but isn't showing any results: $sql = "SELECT * FROM (SELECT *, views / HOUR(TIMEDIFF(NOW(), date)) as avg FROM content WHERE date BETWEEN CURDATE() - INTERVAL 30 DAY AND NOW() - INTERVAL 2 HOUR AND views > 600 AND live = '0' ORDER BY avg DESC LIMIT 9) ORDER BY RAND()"; Link to comment https://forums.phpfreaks.com/topic/293957-ordering-same-9-results-by-rand/ Share on other sites More sharing options...
Barand Posted January 15, 2015 Share Posted January 15, 2015 A table subquery needs to be given a table alias SELECT * FROM ( SELECT ... ) as top9 ORDER BY RAND() Link to comment https://forums.phpfreaks.com/topic/293957-ordering-same-9-results-by-rand/#findComment-1503022 Share on other sites More sharing options...
dachshund Posted January 15, 2015 Author Share Posted January 15, 2015 perfect, thanks Link to comment https://forums.phpfreaks.com/topic/293957-ordering-same-9-results-by-rand/#findComment-1503023 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.