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

私のSQLで逆順変数を作成する方法

    完全なコードは

    SELECT
    t1.*
    , t2.max_room - `cumulative_room` 'reverse_cumulative room'
    FROm (SELECT date,
                    ant, 
                    num_room,
                    (@csum:= @csum + num_room) as cumulative_room
                    from xxx_xxxx_xxxx
                    WHERE date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()
                    AND(select @csum := 0) = 0
                    order by date) t1
    INNER JOIN (SELECT MAX(`cumulative_room`) +1 max_room,  `date` FROM (SELECT date,
                                                                                ant, 
                                                                                num_room,
                                                                                (@csum:= @csum + num_room) as cumulative_room
                                                                                from xxx_xxxx_xxxx
                                                                                WHERE date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()
                                                                                AND(select @csum := 0) = 0
                                                                                order by date) t3 GROUP BY  `date`) t2
    ON t1.`date` = t2.`date`;
    

    この背後にある考え方は

    です

    db <> fiddle こちら




    1. PL /SQLストアドプロシージャはカーソルをVBAADODB.RecordSetに出力しますか?

    2. T-SQLを使用してSQLServerデータベースの外部キーを返す11の方法

    3. 別のテーブルと一致するテーブルをMySQLで作成しますか?

    4. 'OrderBy'句の列を要求するクエリは'Groupby'句の列と一致します