SELECT t.*, count(usr.id) as userCount, count(com.id) as commentCount from `todoItems` t LEFT JOIN `userTodoList` usr ON t.id = usr.todoItemId LEFT JOIN `comments` com ON t.discussionId = com.discussionId GROUP BY t.id order by count(com.id) desc;