sql >> データベース >  >> RDS >> Sqlserver

選択でカウンターを増やす方法

    cte とウィンドウ関数 Row_Number() を使用すると... ただし、OVER 句の (Select NULL) を適切なシーケンス (つまり、identity int、datetime) に置き換えるのが最善であることに注意してください。

    Declare @YourTable table (ColumnA int)
    Insert Into @YourTable values (1),(0),(0),(0),(1),(0),(0),(0),(0),(1),(0),(1),(0),(0),(1),(0)
    
    ;with cte as (
        Select *,RN=Row_Number() over (Order By (Select Null)) from @YourTable
    )
    Select A.ColumnA
          ,ColumnB = sum(B.ColumnA)
     From  cte A
     Join  cte B on (B.RN<=A.RN)
     Group By A.ColumnA,A.RN
     Order By A.RN
    

    返品

    ColumnA ColumnB
    1       1
    0       1
    0       1
    0       1
    1       2
    0       2
    0       2
    0       2
    0       2
    1       3
    0       3    
    1       4
    0       4
    0       4
    1       5
    0       5
    


    1. SQL Server 2008 接続エラー パイプの反対側にプロセスがありません

    2. OBJECTPROPERTY()を使用して、オブジェクトがSQLServerのチェック制約であるかどうかを確認します

    3. パラメータに複数の値がある場合にWHEREステートメントでCASEを使用する

    4. MySQL用のヒキガエルを使用してMySQLデータベースからcsvにアラビア語のテキストをエクスポートするにはどうすればよいですか?