SELECT X.DNI, X.CONTADOR FROM
(SELECT DNI, COUNT(*) AS CONTADOR FROM facturas
WHERE YEAR(FECHA_VENTA) = 2016
GROUP BY DNI) X WHERE X.CONTADOR > 2000;
Entiendo que agrupa por dni, pero no estaria entendiendo que hace la subconsulta. ¿Me lo pueden explicar?