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

MySQLを使用した各グループの現在の合計

    MySQLでは、最も効率的なアプローチは変数を使用することです:

    select e.*,
           (@s := if(@id = e.id, @s + salary,
                     if(@id := e.id, salary, salary)
                    )
           ) as running_salary
    from (select e.*
          from employee e
          order by e.id, e.month
         ) e cross join
         (select @id := -1, @s := 0) params;
    

    相関サブクエリを使用してこれを行うこともできます:

    select e.*,
           (select sum(e2.salary)
            from employee e2
            where e2.id = e.id and e2.month <= e.month
           ) as running_salary
    from employee e;
    



    1. 2つまたは3つの放射状の場所の中点を取得する方法(緯度、経度)

    2. SQLCMDを使用してSQLデータベースのメンテナンスタスクを自動化する方法

    3. SQLXML値をフェッチするためのXPath

    4. PostGIS:zとmの次元をクエリする(linestringzm)