Limit a Left Join on the first table
Try this:
SELECT g.gemid, g.title, r.tot, gemdetail.filenameFROM (SELECT * FROM gems WHERE grade = '7' LIMIT 10) gLEFT JOIN (SELECT gemid, COUNT(*) AS tot FROM gemreply GROUP BY gemid) r ON r.gemid = g.gemidLEFT JOIN gemdetail ON g.gemid = gemdetail.gemidLEFT JOIN users ON g.userid = users.useridORDER BY g.gemid;
This should work.