Auswählen, gruppieren und summieren Sie die Ergebnisse aus der Datenbank
Ich habe eine Datenbank mit einigen Feldern möchte ich die Summe. Aber das ist nicht das große problem, ich möchte die Gruppe diese Felder durch den Monat Sie erzeugt wurden. ActiveRecord automatisch erstellt ein Feld namens "created_at". Also meine Frage; wie kann ich die Gruppe das Ergebnis von Monat, dann ist die Summe der Felder für jeden Monat?
Aktualisiert mit code
@hours = Hour.all(:conditions => "user_id = "+ @user.id.to_s,
:group => "strftime('%m', created_at)",
:order => 'created_at DESC')
Dies ist der code den ich jetzt habe. Geschafft, group by Monat, aber nicht verwalten, um die Summe von zwei meiner Felder, "Minuten" und "Gehalt", die ich brauche, um die Summe
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie active record Berechnungen, dies zu tun. Einige Beispiel-code sein könnte
Natürlich mit dem VORBEHALT MONAT ist mysql-spezifisch, so dass, wenn Sie wurden der Entwicklung auf eine SQLite-Datenbank würde es nicht funktionieren.
Ich weiß nicht, ob es eine SQL Abfrage, die Sie verwenden, um es zu tun (ohne änderung der derzeitigen Struktur der Tabelle). Aber Sie tun es mit ein paar Zeilen code.
Ich sah diesen link auf der rechten Seite dieser Frage. Ich nehme an, andere Datenbanken neben MySQL ähnliche Funktionen haben.
mysql select sum group by Datum
Befestigt es mithilfe von :wählen Sie, wenn immer die Abfrage, Eingabe wählt manuell