2016-05-27 126 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

相關問題