Buongiorno,
ho ottenuto il risultato voluto da una query.
Essa mi restituisce dei valori numerici.
Posto la query.
Essa mi restituisce una tabella del genereselect if(time_to_sec(timediff(BM1.date, BM2.date)) > 20, (time_to_sec(timediff(BM1.date, BM2.date) - 20)), 0) from broadcast_message as BM1 inner join broadcast_message as BM2 on date(BM1.date) = date(BM2.date) AND date(BM1.date) = '2009-03-26' AND BM1.message = 1 AND BM2.message = 1 and time(BM1.date) > time(BM2.date) group by BM1.date;
Allora ho pensato: se mi serve la somma totale di quei valori (cioè 24 + 24 + 0 + 0 + 16) basta aggiungere la funzione SUM all'inizio della query che contenga tutte le altre funzioni, in questo modo:+---------------------------------------------------------------------------------------------------------+
| if(time_to_sec(timediff(BM1.date, BM2.date)) > 20, (time_to_sec(timediff(BM1.date, BM2.date) - 20)), 0) |
+---------------------------------------------------------------------------------------------------------+
| 24 |
| 16 |
| 0 |
| 0 |
| 16 |
+---------------------------------------------------------------------------------------------------------+
Ma invece di un unico valor restituito, ottengo questo:SUM( if(time_to_sec(timediff(BM1.date, BM2.date)) > 20, (time_to_sec(timediff(BM1.date, BM2.date) - 20)), 0) )
Risultato simile con COUNT(), che vorrei ritornasse 5.+--------------------------------------------------------------------------------------------------------------+
| sum(if(time_to_sec(timediff(BM1.date, BM2.date)) > 20, (time_to_sec(timediff(BM1.date, BM2.date) - 20)), 0)) |
+--------------------------------------------------------------------------------------------------------------+
| 24 |
| 76 |
| 106 |
| 106 |
| 264 |
+--------------------------------------------------------------------------------------------------------------+
Perchè tutto questo?