2012-09-12 10 views
5

Ich habe eine Tabelle wie folgtpro max Zahl auswählen zweite

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

Wie zählen bekommen Datensätze in pro Sekunde (InDateTime)?

Ich verwende Mysql


Beispielsätze:

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' 

Erwartete Ausgabe:

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

können Sie Beispielsätze und erwartete Ausgabe enthalten? –

+1

Bitte erläutern Sie, was Sie mit "max count" meinen? Ich nehme an, du brauchst "pro Sekunde zählen". –

+1

Meinst du SELECT count (\ *) FROM 'news' GROUP BY' InDateTime'? – agou

Antwort

9

Haben Sie Ihre müde dies:

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

Ich schrieb das gleiche (also +1), aber Sie könnten auch die Unix_Zeitstempel-Konvertierung in der GROUP BY überspringen, da es eine Datetime-Spalte ist ... – Najzero

1

Der einfachste Weg, um mit jeder Umwandlung

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

Hier wollen Sie Ihr Ergebnis zu einer Gruppe der time nach. Für jede time möchten Sie die Anzahl der Zeilen. So können Sie diese Abfrage verwenden.

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

Hier group by time werden separate Gruppe von unterschiedlichen time Werte schaffen. select time wird die Zeit in der ersten Spalte auswählen. Und count(*) gibt die Anzahl der Zeilen an, die diesen Wert enthalten.

Es ist besser, lesen Sie this

+0

Es ist besser, Sie lesen [this] (http://w3fools.com/) – hims056

+0

Habe ich die falsche Antwort gegeben? Oder ist die Erklärung bei meinem Link falsch? – Shashwat

+0

Nein. Ihre Antwort ist richtig. Ich habe es auch neu geordnet. Hast du diesen Link gelesen? * W3Schools veröffentlicht häufig ungenaue oder irreführende Inhalte *. Sehen Sie sich [diese Frage zu Meta] an (http://meta.stackexchange.com/q/104898/187824) – hims056

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

Ergebnis

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 
Verwandte Themen