Assuming you can't come up with any reason for doing it the way you did, then the answer is easy:
SELECT N.sid, N.title, N.time, N.bodytext, N.author, N.url, COUNT(C.page_id) AS commentCount
FROM news AS N LEFT JOIN comments AS C
ON N.sid = C.page_id AND C.is_approved = 1
GROUP BY N.sid, N.title, N.time, N.bodytext, N.author, N.url
ORDER BY N.sid DESC
LIMIT $start, $limit
Beats me why you would name a field sid in one table and the corresponding field page_id in another table, but if that's what you did, then that's what the query looks like.