Page 164 - Corso di PHP - Livello base
P. 164
numero dei commenti del post con il maggior numero di
commenti e al contrario qual è il numero di commenti del post
con il minor numero di commenti. Per compiere queste due
operazioni abbiamo le funzioni MAX e MIN, e anche in questi
due casi il meccanismo è simile a quello delle funzioni che
abbiamo appena visto. Diamo un'occhiata a MAX:
$query4 = "SELECT MAX(NumCommenti) AS Massimo FROM Post";
$risultato4 = mysql_query($query4);
while ($record4 = mysql_fetch_array($risultato4, MYSQL_ASSOC))
{
echo "Numero commenti massimo: "; echo $record4['Massimo'];
}
E adesso MIN:
$query5 = "SELECT MIN(NumCommenti) AS Minimo FROM Post";
$risultato5 = mysql_query($query5);
while ($record5 = mysql_fetch_array($risultato5, MYSQL_ASSOC))
{
echo "Numero commenti minimo: "; echo $record5['Minimo'];
}
Ma cosa dovremmo fare se volessimo sapere qual è il post con
il maggior numero di commenti (e quindi non solo qual è il
numero di commenti del post con il maggior numero di
commenti)? Dobbiamo ricorrere a una query annidata, detta
anche “subquery”: le query annidate sono interrogazioni che
si trovano all'interno di altre interrogazioni. Il caso che
prendiamo in esame noi è il più semplice: una interrogazione
viene posta come condizione della clausola WHERE.
Vediamo come funziona:
$query6 = "SELECT Titolo FROM Post WHERE NumCommenti = (SELECT
MAX(NumCommenti) FROM Post)";
164