1 つのテーブルでさまざまな条件をカウントしたいと思います。
SELECT gt.smechanic as 'Mech ID', 
       gm.mechanic_name as 'Mech Name', 
       count(gt.smechanic) as 'Total Invoices Not Received',
       count(if(datediff(gt.dispatch_date, curdate()) < 10,1,0)) as 'Within 10 days' 
from gt 
straight_join gm on gt.smechanic = gm.mechanic_id 
where gt.status = 3 or gt.status = 5 
group by gt.scheduled_mechanic
両方の列で同じ値をカウントしているため、このステートメントで自分自身をキャンセルしているかどうかはわかりません。