Pues con un select anidado, no sera lo mas rapido pero te dara la información,
Cita:
select DNI, fecha, hora, etc from Asistencias
where DNI in (SELECT DISTINCT Dni, COUNT(*) AS NumAsis
FROM Asistencias
WHERE Fecha BETWEEN '01/01/2000' AND '01/01/2003'
GROUP BY Dni
having COUNT(*)>50)
order by DNI, Fecha, Hora
|
Aunque el DISTINCT que tienes en el select, no que hace, si ya has agrupado por DNI, no hay duplicados, asi que el distinst es totalmente redundante.