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

php / SQL - wypisz wiele słów 4 razy pomiędzy 4 nazwami z wieloma warunkami

Przeczytałem twój poprzedni post i ten. Jeśli rozumiem, podstawową rzeczą jest to, że masz drużyny, masz graczy i chcesz wyświetlać dane w pewnych ustandaryzowanych grupach (że tak powiem).

Cóż, istnieje stały punkt odniesienia, do którego zawsze porównujesz wielkość zespołu.

To, co zrobiłbym, to utworzenie podzapytania, które grupuje zespół z liczbą graczy i używa tego w następujący sposób:

select t.*
       , x.total_players
       -- , row_number() over(order by t.team_name) row_id
from team_table t
    join (
          select team_id
                , count(1) total_playerss
          from team_table 
          group by team_id
         ) x on x.team_id = t.team_id
order by t.team_name

Podczas wywoływania zestawu wyników w PHP możesz zbudować kilka funkcji, takich jak:

<?php

function add_some_word($playerCount) {

if ($playerCount >4 && $playerCount <= 8) {
echo '*** SOME WORD***';
echo '*** SOME WORD***';
echo '*** SOME WORD***';
}
else if ($playerCount >4 && $playerCount <= 8) {
echo '*** SOME WORD***';
echo '*** SOME WORD***';
}
// etc.
}

?>

Korzystanie z row_id z zestawu wyników możesz zobaczyć, kiedy drużyna zaczyna i kończy.

Więc kiedy wypluwa wiersze, może to wyglądać tak:"

<?php

$currentTeamName = "";

while ($row = pg_fetch_array($result,null,PGSQL_ASSOC)) {
// echo data you would normally send out

if ($currentTeamName != $row['team_name']) {
add_some_word($row['total_players']);
}

}

?>

Mam nadzieję, że dobrze odpowiedziałem na twoje pytanie. Szybko to rzucam, ale pomyślałem, że to pomoże!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę policzyć liczbę wierszy zwróconych przez zapytanie MySQL?

  2. Jak połączyć zapytanie SELECT + WHERE z zapytaniem INSERT?

  3. NodeJS nie mógł połączyć się z najnowszą wersją MYSQL w kontenerze Docker

  4. LOAD DATA LOCAL INFILE wyświetla błąd Użyte polecenie nie jest dozwolone w tej wersji MySQL

  5. SQLSTATE[HY000]:Błąd ogólny:1298 Nieznana lub niepoprawna strefa czasowa:okna „UTC”