Return die Anzahl der Zeilen gruppiert, indem Sie MySQL-Woche
Ich versuche, um die Zeilenanzahl aus einer MySQL-Tabelle, wo die Daten zusammengefasst für eine WOCHE.
Bisher die Abfrage, die ich habe ist:
"SELECT count(*) as tweets, twitTimeExtracted as date
FROM scene.twitData
group by week(twitTimeExtracted)"
Diese Abfrage liefert folgende Daten:
Wie Sie sehen können, die Wochen sind nicht korrekt, ich gehe davon aus, dass die Daten für jede Woche, beginnend mit Montag, den 7. Januar (7,14,21,28,4,11 etc...) und läuft bis auf diese Woche.
Ich habe auch versucht, eine modifizierte version des ursprünglichen Abfrage:
SELECT count(*) as tweets, twitTimeExtracted as date
FROM scene.twitData
WHERE date(twitTimeExtracted)
BETWEEN '2013-01-07' and '2013-03-11'
group by week(twitTimeExtracted)
Dieser liefert ähnliche Ergebnisse wie die erste Abfrage.
Vielleicht gibt es eine Inkonsistenz mit einigen Daten, die in die DATETIME: twitTimeExtracted Spalte auf ein paar Zeilen von Daten? Ich weiß wirklich nicht, ich bin nicht sehr erfahren mit MySQL.
Jede Hilfe wäre wirklich zu schätzen.
Dank
- So, welche Nummer der Woche war Montag, den 7. Januar? Welche Nummer der Woche war Montag, der 1. Januar? Vielleicht versuchen: "Gruppe für eine Woche(twitTimeExtracted,1)"
- wie ist das falsch? Erwarten Sie eine Magische beginnen-der-Woche-Termin zu erscheinen? (BTW, ich würde die Gruppe auf
YEAR()
auch..)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dieser wandelt die
datetime
Wert in den entsprechenden Montag in der Wocheyearweek
gibt sowohl in Woche und Jahr. Zusammen mit dem stringmonday
,str_to_date
gibt Ihnen die Montagdatetime
Wert.Wenn Sie Ihre Woche beginnt am Montag, verwenden Sie
yearweek(twitTimeExtracted, 1)
statt.yearweek
liefert sowohl Jahr, und in der Woche, so sollte es funktionieren, auch wenn Sie mehrere Jahre in Ihrem dataset. Bitte finden Sie in den aktualisierten Antworten.Einer option, um immer den Montag der Woche ist die Nutzung adddate:
SQL Fiddle Demo
versuchen Sie dies:
Einer alternativen Lösung:
ZB: