Ho un campo in una tabella, di cui mi interessa la cardinalità a seconda del tempo:
SELECT COUNT(campo) AS a FROM tabella WHERE time<x
SELECT COUNT(campo) AS b FROM tabella WHERE time>x AND time<y
SELECT COUNT(campo) AS c FROM tabella WHERE time>y
Queste tre query restituiscono i valori di a, b e c.
Vorrei semplificare il tutto ad una sola query.
Ho provato questo sistema:
che fa calcolare il count a PHP ma non è una buona soluzione e per alte quantità è molto più lento delle 3 query.Codice PHP:
$a = 0;
$b = 0;
$c = 0;
SELECT time FROM tabella
if ($time < $x) $a++;
elseif ($time > $x && $time < $y) $b++;
elseif ($time > $y) $c++;
È possibile risolvere con un'unica query?