tablas soporta segundo query por optimizar lento lentas grandes eficientes cuantas consultas con mysql sql time count

soporta - MySQL: Cuenta las distintas filas por día



optimizar consultas sql server (2)

Tengo una consulta interesante que necesito hacer. Tengo una tabla con una columna INT que contiene números de dirección IP (usando INET_ATON ) y una columna de timestamp . Quiero poder contar el número de columnas de direcciones IP únicas que hay por día. Es decir, cuántas filas ip distintas hay en cada día. Entonces, por ejemplo, si una dirección IP está en el mismo día dos veces, cuenta como 1 en el recuento final, sin embargo, si la misma dirección IP está en otro día, se contará, habrá una segunda cuenta para ella.

Datos de ejemplo:

PK | FK | ipNum | timestamp 11 | 404 | 219395 | 2013-01-06 22:23:56 7 | 404 | 467719 | 2013-01-06 22:23:41 8 | 404 | 4718869 | 2013-01-06 22:23:42 10 | 404 | 16777224 | 2013-01-06 22:23:56 5 | 404 | 1292435475 | 2013-01-06 22:23:25 12 | 404 | 1526990605 | 2013-01-06 22:23:57 6 | 404 | 1594313225 | 2013-01-06 22:23:40 4 | 404 | 1610613001 | 2013-01-06 22:23:23 9 | 404 | 1628635192 | 2013-01-06 22:23:55 1 | 404 | 2130706433 | 2013-01-06 21:29:38 2 | 407 | 2130706433 | 2013-01-06 21:31:59 3 | 407 | 2130706433 | 2013-01-06 21:32:22


SELECT DATE(timestamp) Date, COUNT(DISTINCT ipNum) totalCOunt FROM tableName GROUP BY DATE(timestamp)


$log_date = date(''Y-m-d H:i:s''); $log_date = date(''Y-m-d H:i:s'', strtotime($log_date.'' -1 hour'')); SELECT ipNum, COUNT(ipNum), COUNT(DISTINCT ipNum), DATE(timestamp), timestamp FROM tableName WHERE `timestamp` > ''".$log_date."'' GROUP BY ipNum ORDER BY DATE(timestamp) DESC

ESTO TE DARÁ UN RESULTADO COMO

ip TIME COUNTIPS 11.237.115.30 2018-01-27 19:13:51 1 21.744.133.52 2018-01-27 19:14:03 1 44.628.197.51 2018-01-27 19:48:12 14