Jak grupować wyniki zapytania według godzinnej części kolumny datetime w SQLAlchemy?Grupa po godzinie w SQLAlchemy?
Odpowiedz
Jeśli dobrze pamiętam najpierw należy wyodrębnić godzinę ze swojego datownika, a następnie można grupować według tego.
query(extract('hour', timeStamp).label('h')).group_by('h')
Działa to dla PostgreSQL:
.group_by(func.date_trunc('hour', date_col))
Nie wspomniałem, że używam sqlite; date_trunc to postgres? – Dave
Można to również zrobić w języku Python. Zakładając, że uporządkowana query_result
:
from itertools import groupby
def grouper(item):
return item.created.hour
for (hour, items) in groupby(query_result, grouper):
for item in items:
# do stuff
Ta odpowiedź jest dostosowany od odpowiedzi na podobne pytanie here
Ostatnio musiałem zrobić coś podobnego przy użyciu sqlalchemy i MySQL i skończyło się używając DATE_FORMAT (http://www.w3schools.com/sql/func_date_format.asp) do grupy przez godzinę, minutę, sekundę
.group_by(func.date_format(date_col, '%H:%i:%s'))
w grupie tylko przez godzinę byłoby '%H'
zamiast '%H:%I:%s'
W Oracle, użyj func.trunc(MyTable.dt, 'HH')
Jednak jest to trochę skomplikowane. To się nie powiedzie:
q = session.query(func.trunc(MyTable.dt, 'HH'), func.sum(MyTable.qty) \
.group_by(func.trunc(MyTable.dt, 'HH'))
Ale to udaje:
trunc_date = func.trunc(MyTable.dt, 'HH')
q = session.query(trunc_date, func.sum(MyTable.qty) \
.group_by(trunc_date)
Dzięki this thread dla końcówki.
- 1. grupa przez rok, miesiąc, dzień, w SQLAlchemy
- 2. Filtrowanie po lewej stronie w SQLalchemy
- 3. Błąd w wycofywaniu SQLAlchemy po wyjątku DB?
- 4. Czy Google Analytics może wyświetlać mi wizytę po godzinie?
- 5. Wkładanie o określonej godzinie?
- 6. Grupa lista wpisów z LINQ
- 7. Planowanie uruchamiania makra w każdej godzinie
- 8. Uruchom aplikację o określonej godzinie
- 9. Grupa użytkowników w Firebase
- 10. słownika Grupa w Pythonie
- 11. Grupa wykrywanie w danych ustawia
- 12. Grupa grupy zestawu Cloudformation grupa zabezpieczeń
- 13. Grupa i liczba w szynach
- 14. Vertical Separator w ListBox Grupa
- 15. Planowanie uruchamiania metody o określonej godzinie.
- 16. Flask-Sqlalchemy + Sqlalchemy-searchable powracająca pusta lista
- 17. Przepływ powietrza - zadanie długotrwałe w subdag oznaczone jako nieudane po godzinie
- 18. Python dicts w sqlalchemy
- 19. Operator bitowy w SQLAlchemy
- 20. Dziedziczenie w kolbie/SqlAlchemy
- 21. Schemat gwiazd w SQLAlchemy
- 22. Zamknięcie SqlAlchemy w podzapytanie
- 23. Oblicz grupa procent do 2 miejsc po przecinku - SQL
- 24. SQLAlchemy & PassLib
- 25. Grupa sql w odróżnieniu od
- 26. Grupa pandypoprzez sortowanie w grupach
- 27. obiektów grupa posesją w javascript
- 28. Grupa wielu tabel w LINQ
- 29. Grupa By, Sum w LINQ
- 30. Obiekty LocalProxy w Flask-SQLAlchemy
Zadziałało, gdy umieściłem cytaty na godzinę. – Dave
Ups ... tak, musisz to zrobić. Zaktualizowałem mój przykład. Dzięki za złapanie tego. – Scott