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

MySqlクエリからデータを取得する方法がわかりません

    いくつかの問題があります:

    1. $rowへのインデックス 引用符で囲む必要があります。例: $row['name'] そうしないと、「未定義の定数」の警告が多数表示されます。
    2. $row['Jan'] は月次データを取得する正しい方法です。他の月ごとにそれを複製する必要があります。
    3. $avgGradeを置き換えます $row['AVG']を使用
    4. あなたが何を達成しようとしているのかわかりません
    <td class = "gScore-<?php echo $row[Jan]; ?>"></td>
    

    実際に欲しいですか

    <td class = "gScore"><?php echo $row[Jan]; ?></td>
    
    1. -- repeat for May to November クエリへの行、つまり
        $result = $db->query("SELECT name,
           COALESCE(AVG(CASE WHEN mth = 1 THEN PTS END), 0) AS Jan,
           COALESCE(AVG(CASE WHEN mth = 2 THEN PTS END), 0) AS Feb,
           COALESCE(AVG(CASE WHEN mth = 3 THEN PTS END), 0) AS Mar,
           COALESCE(AVG(CASE WHEN mth = 4 THEN PTS END), 0) AS Apr,
           COALESCE(AVG(CASE WHEN mth = 5 THEN PTS END), 0) AS May,
           COALESCE(AVG(CASE WHEN mth = 6 THEN PTS END), 0) AS Jun,
           COALESCE(AVG(CASE WHEN mth = 7 THEN PTS END), 0) AS Jul,
           COALESCE(AVG(CASE WHEN mth = 8 THEN PTS END), 0) AS Aug,
           COALESCE(AVG(CASE WHEN mth = 9 THEN PTS END), 0) AS Sep,
           COALESCE(AVG(CASE WHEN mth = 10 THEN PTS END), 0) AS Oct,
           COALESCE(AVG(CASE WHEN mth = 11 THEN PTS END), 0) AS Nov,
           COALESCE(AVG(CASE WHEN mth = 12 THEN PTS END), 0) AS `Dec`,
           AVG(PTS) AS AVG
       FROM (
       SELECT name, PTS AS PTS, MONTH(STR_TO_DATE(DATE, '%a %b %e %H:%i:%s %Y')) AS mth
       FROM data
        ) d
        GROUP BY name");
    



    1. デスクトップアプリでmysqlをオンラインで使用する方法

    2. SQLパラメータの文字列配列をSQLのIN句に渡す方法

    3. SPSSとPHP/MySQLの統合

    4. どちらが速いですか:複数の単一のINSERTまたは1つの複数行のINSERT?