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

MySQL / SQL:更新されたテーブル自体からの相関サブクエリで更新します

    私が受け取った2つの答え(どれも完全ではなかったので、私は自分で書いた)に続いて、私が最終的にしたことは次のとおりです。

    UPDATE Table AS target
    INNER JOIN 
    (
    select category, appearances_sum
    from Table T inner join (
        select category as cat, sum(appearances) as appearances_sum
        from Table
        group by cat
    ) as agg
    where T.category  = agg.cat
    group by category
    ) as source
    ON target.category = source.category
    SET target.probability = target.appearances / source.appearances_sum 
    

    それは非常に迅速に動作します。相関サブクエリも試しましたが、はるかに低速(桁違い)だったため、結合に固執しています。



    1. MySQLで現在のタイムスタンプ内に10分以内のすべてのレコードを選択するにはどうすればよいですか?

    2. MySQLで日付の平均を作成するにはどうすればよいですか?

    3. mysqlとPHPを使用してローカルホストコンピューターからリモートデータベースに接続する

    4. MySQLでストアドプロシージャを削除する方法