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

高度なMySQL:投票応答間の相関関係を見つける

    テストするのに便利なインスタンスがありません。これで適切な結果が得られるかどうかを確認できますか:

    select
            poll_id,
            option_id,
            ((psum - (sum1 * sum2 / n)) / sqrt((sum1sq - pow(sum1, 2.0) / n) * (sum2sq - pow(sum2, 2.0) / n))) AS r,
            n
    from
    (
        select 
            poll_id,
            option_id,
            SUM(score) AS sum1,
            SUM(score_rev) AS sum2,
            SUM(score * score) AS sum1sq,
            SUM(score_rev * score_rev) AS sum2sq,
            SUM(score * score_rev) AS psum,
            COUNT(*) AS n
        from
        (
                select 
                    responses.poll_id, 
                    responses.option_id,
                    CASE 
                        WHEN user_resp.user_id IS NULL THEN SELECT 0
                        ELSE SELECT 1
                    END CASE as score,
                    CASE 
                        WHEN user_resp.user_id IS NULL THEN SELECT 1
                        ELSE SELECT 0
                    END CASE as score_rev,
                from responses left outer join 
                        (
                            select 
                                user_id
                            from 
                                responses 
                            where
                                poll_id = 1 and 
                                option_id = 2
                        )user_resp  
                            ON (user_resp.user_id = responses.user_id)
        ) temp1 
        group by
            poll_id,
            option_id
    )components 
    


    1. 複数のテーブルにわたるSQLの一意性制約

    2. WHM / cPanelサーバーでのProxySQLを使用したMySQLレプリケーション:パート2

    3. MySQL-既存のデータを壊さずにデータベース内の既存の列のvarcharサイズを増やす方法は?

    4. mysql SELECT * WHERE value =$ row ['item']