El TOP 4 no funciona por que él quiere los 4 primeros de cada fecha, no solo los 4 primeros de la consulta (aparte que en MySQL no es TOP, sino LIMIT).
Necesita agruparlos u ordenarlos por fecha y luego leer hasta que la fecha_anterior sea diferente a la fecha actual o mientras el número de registros leídos sea menor o igual a 4.
El algoritmo simple y sin optimizar sería algo como esto:
Código:
rs.open "query", conn
fecha_anterior = rs("fecha")
Cnt=0
while not rs.eof
if Cnt <= 4 and fecha_anterior = rs("fecha") Then
response.write "lo que ocupes"
Else
cnt = cnt + 1
End if
rs.movenext
if Not rs.eof Then
if Fecha_Anterior <> Fecha Then
fecha_anterior = rs("fecha")
Cnt=0
End if
End if
wend
La idea es esa