-3

すべてを合計するだけでなく、によって返される行数を返す必要があるこの T-SQL ステートメントcol1col2あります。WHERE

私がそれを行う方法を見つけた唯一の方法はcount(FlightLogLegID - (FlightLogLegID - 1))、行ごとに1を合計することです。不必要な足し算と引き算を必要としないより良い方法があることを望んでいました。

SELECT 
    coalesce((Select sum(Col1)),0) AS Number1,
    coalesce((Select sum(Col2)),0) AS Number2,
    coalesce((Select count(TableRowID - (TableRowID - 1)), 0) AS Number3
FROM 
    SomeTable 
WHERE ...

行の例

TableRowID   Col1   Col2
1            5      10
2            3      5
3            12     8

望ましい結果

Number1   Number2   Number3
20        23        3
4

2 に答える 2

1

これはあなたが尋ねていたものですか?

SELECT SUM(Col1) [Number1], SUM(Col2) [Number2], COUNT(*) [Number3] 
FROM SomeTable

このSQL Fiddleを使用して確認できます。

于 2013-03-12T01:07:24.357 に答える