2012-09-12 16 views
5

tengo una tabla como éstaSeleccionar recuento máximo por segundo

CREATE TABLE news 
(
Id   INT NOT NULL auto_increment, 
Headline VARCHAR (255) NULL, 
InDateTime DATETIME NULL 
) 

Cómo obtener los registros cuentan en por segundo (InDateTime)?

estoy usando Mysql


Registros de muestra:

578921, 'headline1', '8/20/2012 12:01:53 PM' 
578922, 'headline2', '8/20/2012 12:01:53 PM' 
578923, 'headline3', '8/20/2012 12:01:53 PM' 
578924, 'headline4', '8/20/2012 12:01:59 PM' 
578925, 'headline5', '8/20/2012 12:01:59 PM' 
578926, 'headline6', '8/20/2012 12:01:59 PM' 
578927, 'headline7', '8/20/2012 12:01:59 PM' 
578928, 'headline8', '8/20/2012 12:02:03 PM' 

Resultados previstos:

time,     count 
'8/20/2012 12:01:53 PM', 3 
'8/20/2012 12:01:59 PM', 4 
'8/20/2012 12:02:03 PM', 1 
+0

puede incluir registros que muestra y resultado esperado? –

+1

Por favor, explique a qué se refiere con "recuento máximo"? Supongo que necesitas "contar por segundo". –

+1

¿Quiere decir SELECT count (\ *) FROM 'news' GROUP BY' InDateTime'? – agou

Respuesta

9

Tener su cansado esto:

SELECT COUNT(id), InDateTime 
FROM news 
GROUP BY InDateTime 
+0

Estaba escribiendo lo mismo (por lo que +1), pero también podría saltear la conversión de unix_timestamp en GROUP BY ya que es una columna de fecha y hora ... – Najzero

1

La manera más simple con cualquier conversión

SELECT `time`, COUNT(*) totalCount 
FROM tableName 
GROUP by `time 
2

Aquí desea agrupar el resultado de acuerdo con el time. Por cada time quieres el número de filas. Para que pueda usar esta consulta.

select time, count(*) 
from news 
group by time 

Aquí group by time creará grupo separado de los distintos valores de time. select time seleccionará la hora en la primera columna. Y count(*) dará el recuento de la cantidad de filas que contienen ese valor.

Es mejor que leas this

+0

Es mejor que lea [this] (http://w3fools.com/) – hims056

+0

¿He dado la respuesta incorrecta? ¿O la explicación en mi enlace es incorrecta? – Shashwat

+0

No. Su respuesta es correcta. Yo también lo voté. ¿Has leído ese enlace? * W3Schools publica frecuentemente contenido inexacto o engañoso *. Mira [esta pregunta en Meta] (http://meta.stackexchange.com/q/104898/187824) – hims056

1
SELECT InDateTime AS Time, COUNT(InDateTime) AS Count 
FROM NEWS 
GROUP BY InDateTime 

Resultado

Time      Count 
2012-08-20 12:01:53.000 3 
2012-08-20 12:01:59.000 4 
2012-08-20 12:02:03.000 1 
Cuestiones relacionadas