2011-03-17 13 views
0
结束

您好,我从数据库中选择此得到列的和现在我想列总和s.fares.commission在低于柱年底总费用和佣金总额它在新的row.i使用工会,但我只希望在最后一排的总数此车票价如何在表

SELECT s.fare, s.commission, o.driver, s._date, v.vehiclenumber, p.productname, 
     s.source, s.destination, 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 

回答

0

建设使用类似(刚加入的,而不是价格必要的列):

SELECT Price, 0 AS LastRow FROM Orders WHERE Price > 10 
UNION 
SELECT SUM(Price), 1 AS LastRow FROM Orders WHERE Price > 10 
ORDER BY LastRow 
1

这是相当棘手的因素SE你要总结只中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 
+0

它不工作 – sadi

+1

@sadi - 和错误消息是什么? – RichardTheKiwi

+0

**#1060 - 重复列名'routename'** 我不想只在限制0,30 之间求和,但整个记录的车辆号='nk-234' – sadi