2016-05-27 49 views
0

我有一个表具有不同的列显示不同的值。如何显示1在其他列中的列总和

我需要添加一个新的列,显示其他列的每一行中的1列的总和。

这是我需要显示的。 enter image description here

我已经写了下面的查询,但它只在最后一列的每一行显示1

select inStation.name TapInStation , outStation.name TapOutStation, 
     count(trx.passengerCount) PassengerCount, sum(trx.amount) Fare, 

     (select sum(passengerCount) from transactions iTrx 
     where iTrx.ID = trx.ID) PassengerPercent     

    from transactions trx 
    inner join 
    station inStation on inStation.ID = trx.fromStation 
    inner join 
    station outStation on outStation.ID = trx.toStation 

    GROUP BY 
    TapInStation, TapOutStation 

回答

1

如果你想要的总数,然后删除相关条款。这可能会做你想要什么:

select inStation.name as TapInStation , outStation.name as TapOutStation, 
     count(trx.passengerCount) as PassengerCount, 
     sum(trx.amount) as Fare, 
     (select sum(passengerCount) from transactions iTrx) as PassengerPercent 

我不知道你为什么会叫“总”像PassengerPercent,但这应该返回总总。

我还怀疑,您可能需要sum()作为以前的表达式。

+0

谢谢,它的工作..其实我需要把每行的百分比放在'最后一列',通过总和除以每行总数..但我没有把第一件事情正确。 – Kirmani88

相关问题