Pregunta

Esta instrucción SQL

SELECT `ip`, `when` FROM `metrics` WHERE `vidID` = '1' GROUP BY DATE('when')

devuelve un resultado, a pesar de que múltiples están presentes en la mesa con diferentes fechas. He intentado usar DATE_FORMAT también. ¿Estoy haciendo algo estúpido?

When es una columna de marca de tiempo con marca de tiempo completo, incluyendo horas, minutos y segundos. Estoy intentando simplemente por grupo de resultados por día / mes / año.

¿Fue útil?

Solución

Parece que eres la agrupación por la cadena constante 'when' en lugar del campo when.

Utilice este lugar:

GROUP BY DATE(`when`)

Parece que usted desea contar las direcciones IP para una fecha determinada:

SELECT COUNT(`ip`) AddressCount, `when`
FROM `metrics` 
WHERE `vidID` = '1' 
GROUP BY DATE(`when`)

Otros consejos

Por lo general, GROUP BY se utiliza en conjunción con alguna función de agregado (como SUMA, por ejemplo) para calcular el conjunto de resultados de una o más columnas. ¿Qué está tratando de lograr aquí? Qué quiere decir para ordenar, o simplemente obtener una lista colapsada IPs de los cuales tienen registros en qué fechas?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top