Ich habe eine Tabelle mit einem Feld namens "Stunden", dieses Feld ist die Zeit, die meine Arbeiter pro Tag arbeiten, es erstellt eine neue Registrierung für jeden Tag, also ist es in etwa so:Summe pro Tag, Woche und Monat
Date: 2017-02-06; hours: 3
Date: 2017-02-07; hours: 8
Date: 2017-02-31; hours: 8
Die Frage ist, wie kann ich ein ausgewähltes tue alles für diesen Tag, um die Stunden zu summieren (das ist schon gelöst), für diese Woche und für diesen Monat.
Was ich erwarte, ist dies:
Summe für diesen Tag (2017.02.06): 3
Summe für diese Woche (2017-02-06-2017--2017-02-12): 11
Summe für diesen Monat (Februar): 19
Original-Abfrage:
$db->query("select sum(hours) horasDia from table_hours where
user="'.$user.'" and DATE(inici)=date('Y-m-d'));
ich tue dies über ph p.
EDIT: Mit der Antwort von rahul_m:
für Tag,
SELECT SUM(`hours`) horasDia
FROM table_hours
WHERE user="'.$user.'" and DATE(inici)= your_date;
Für Woche
SELECT SUM(`hours`) horasDia
FROM table_hours
WHERE user="'.$user.'" and DATE(inici)= your_date;
GROUP BY WEEK(your_date);
Für Monat
SELECT SUM(`hours`) horasDia
FROM table_hours
WHERE user="'.$user.'" and DATE(inici)= your_date;
GROUP BY DATE_FORMAT(your_date, "%m-%Y");
In der Woche Abschnitt es' nur die Stunden nach dem Datum 2017.01.31 (2017.01.30 Woche)
SELECT SUM(`hours`) horasDia
FROM table_hours
WHERE user="'.$user.'" and DATE(inici)= "2017-01-31";
GROUP BY WEEK("2017-01-31");
Im Monat Abschnitt s mir geben, es gibt mir einfach nichts.
SELECT SUM(`hours`) horasDia
FROM table_hours
WHERE user="'.$user.'" and DATE(inici)= "2017-01-31";
GROUP BY DATE_FORMAT("2017-01-31", "%m-%Y");
Vielleicht mache ich etwas falsch.
Bitte geben Datenabtastwert und erwartete Ausgabe – GurV
und zeigen Sie Ihre Abfrage, die (nach Tag) arbeiten –
Wochen für die aktuellen Daten für Daten geben gehört, dass nur Tag, ich hoffe, ich bin klar, – rahulsm