Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nie mogę zrozumieć, jak uzyskać dane z MySql Query

Masz kilka problemów:

  1. Indeksy do $row należy umieścić w cudzysłowie, np. $row['name'] w przeciwnym razie otrzymasz wiele ostrzeżeń „Niezdefiniowana stała”;
  2. $row['Jan'] jest prawidłowym sposobem pobierania danych miesięcznych, należy je replikować dla każdego z pozostałych miesięcy;
  3. zastąp $avgGrade z $row['AVG']
  4. Nie jestem pewien, co chcesz osiągnąć dzięki
<td class = "gScore-<?php echo $row[Jan]; ?>"></td>

czy naprawdę chcesz

<td class = "gScore"><?php echo $row[Jan]; ?></td>
  1. musisz dodać -- repeat for May to November wierszy do zapytania, tj.
    $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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Najszybszy sposób na iterację po dużej tabeli za pomocą JDBC

  2. MySQL pokazuje liczbę 0 dla dat bez rekordów

  3. Jak używać php policz tablicę par słów (string) wstawianą do MySQL?

  4. Błąd SQL (1215):Nie można dodać ograniczenia klucza obcego

  5. Zapytanie, aby uzyskać najlepsze 2 i 3 rekordy z tabeli