0

実行しようとしているスクリプトは次のとおりです。

$resultadosPromediados = R::getAll("SELECT count(*) as total, 
                                    SUM(dialogue_score) / total as dialogue_score, 
                                    SUM(consulta_general_score) / total as consulta_general_score, 
                                    SUM(tarea_score) / total as tarea_score, 
                                    SUM(foro_calificacion_score) / total as foro_calificacion_score,  
                                    SUM(foro_respuesta_score) / total as foro_respuesta_score
                                    FROM ranking
                                    WHERE created = :ultima_feha",
                                    array(':ultima_feha' => $fecha));
print_r($resultadosPromediados);

しかし、私はこのエラーが発生します:

致命的なエラー: Uncaught [42S22] - SQLSTATE[42S22]: 列が見つかりません: 1054 行 265 の /home/ASDFASDF/public_html/ADSFADSF/rb.php でスローされた「フィールド リスト」の不明な列「合計」

合計行を使用してそれらの合計を割って平均読み取り値を取得するにはどうすればよいですか?

4

2 に答える 2

2

変数を使用するだけです:

SELECT @total := count(*), 
    SUM(dialogue_score) / @total as dialogue_score, 
    SUM(consulta_general_score) / @total as consulta_general_score, 
    SUM(tarea_score) / @total as tarea_score, 
    SUM(foro_calificacion_score) / @total as foro_calificacion_score,  
    SUM(foro_respuesta_score) / @total as foro_respuesta_score
FROM ranking
WHERE created = :ultima_feha
于 2013-05-15T02:30:54.103 に答える