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

投票値に応じて記事情報を更新するようにcronジョブを設定します

    select sum(vt.vote_value), vt.item_name
    from Votes vt
    join stories st on st.id = vt.item_name
    and st.showing = 0
    group by vt.item_name
    

    これにより、0と合計投票値を示すすべての記事が表示されます。その後、行ごとに処理し、必要に応じて投票を更新できます。

    追加:私はPHPプログラマーではなく、主にPERLを実行しますが、次のようなものでなければならないと思います:

    <?php 
        $query = "select sum(vt.vote_value) as vote_value, vt.item_name from Votes vt join stories st on st.id = vt.item_name and st.showing = 0 group by vt.item_name";
        $result = mysql_query($query); 
        while($row = mysql_fetch_array($result))
        {
            if($row['vote_value'] > 9) {
                $showing = 1;
            }
            else if($row['vote_value'] < -9) {
                $showing = 2;
            }
            else {
                $showing = 0;
            }
            $query2 = "UPDATE `stories` SET `showing` = $showing WHERE `id` = '".$row['item_name']."'";
            mysql_query($query2); 
        }
    ?>
    


    1. 8000万レコードのテーブルとインデックスの追加には、18時間以上(または永久に)かかります。それで?

    2. PHPを使用してデータベースに複数のチェックボックス選択を追加する方法

    3. 間隔値として列名を指定したDATE_ADDの使用

    4. Ldap認証およびデータベースオーソリティへのSpringセキュリティスイッチ