Это довольно сложно, потому что вы хотите SUM только среди LIMIT 0,30
SELECT fare, commission, driver, _date, vehiclenumber, productname,
source, destination, routename, routename, ownername
FROM
(
SELECT *
FROM
(
SELECT 1 as Part,
s.fare, s.commission, o.driver, s._date, v.vehiclenumber, p.productname,
s.source, s.destination, rs.routename as rs_routename, rd.routename, o.ownername
FROM route AS rs, route AS rd, shipment AS s, product AS p, vehicle AS v, owner AS o
WHERE s.vehicle = v.vehicleid
AND s.source = rs.routeid
AND v.owner = o.ownerid
AND s.destination = rd.routeid
AND s.product = p.productid
AND v.vehiclenumber = 'nk-234'
ORDER BY _date
LIMIT 0 , 30
) Part1
UNION ALL
SELECT 2 as Part,
SUM(fare), SUM(commission), null, null, null, null,
null, null, null, null, null
FROM
(
SELECT
s.fare, s.commission, o.driver, s._date, v.vehiclenumber, p.productname,
s.source, s.destination, rs.routename as rs_routename, rd.routename, o.ownername
FROM route AS rs, route AS rd, shipment AS s, product AS p, vehicle AS v, owner AS o
WHERE s.vehicle = v.vehicleid
AND s.source = rs.routeid
AND v.owner = o.ownerid
AND s.destination = rd.routeid
AND s.product = p.productid
AND v.vehiclenumber = 'nk-234'
ORDER BY _date
LIMIT 0 , 30
) Part2
) Joined
ORDER BY Part, _date