si puoi anche usare date_format, come puoi vedere qua in PHP e qua per MySQL.

L'errore che tu fai però è nella query: non hai messo subito dopo il SELECT un cmapo da trattare come data e non è corretta nella forma e sintassi. Io ti consiglio di fare così: prima immetti la data da verificare
Codice PHP:
data (dd/mm/aaaa): <input type="text" name="data" /> 
poi ricarichi la pagina e la converti in formato standard come ho scritto prima e scrivi la query

Codice PHP:
$data $_POST['data'];
$arr explode('-'$data);
$data date('Y-m-g');
$query "select * FROM tabella2 WHERE data = '" $data "' AS giorno, SUBSTRING('" $data "', 6, 2) AS mese,";
$query .= " avg(temp),avg(umidita),avg(20-(temp)) as gradigiorno from TABELLA2";
$query .= " AND DATE('" $data "') BETWEEN '" $data1 "' AND '" $data2 "' GROUP BY giorno ORDER BY date DESC LIMIT 1000";
$result=mysql_query($query);