Solution:
$query = $this->db->query("
SELECT *, SUM(views.times) AS sum
FROM channel
RIGHT JOIN video
ON channel.channel_id = video.channel_id
LEFT JOIN user
ON channel.user_id = user.user_id
LEFT JOIN views
ON channel.channel_id = views.channel_id
GROUP BY channel.channel_name
ORDER BY sum DESC
");
I have a query that returns a list of items.
function getfrontpage(){
$this->db->select('*');
$this->db->from('channel');
$this->db->join('video', 'channel.channel_id = video.channel_id' , 'right');
$this->db->join('user', 'channel.user_id = user.user_id');
$this->db->group_by("channel.channel_name");
$query = $this->db->get();
return $query->result();
}
Now i’m trying to order these with the SUM from another table, how can i achieve this?
Here is a picture from that table:

I want the results to be sorted by the SUM of the total of “times” for each “channel_id”
thanks in advance
I would suggest to run this through
$this->db->query()instead.It’s nice to fetch simple values through CodeIgniters AR functions. But at some situations it’s simply easier to build query strings instead.
In your case:
You can also escape most values through db->query()!