SQLAlchemy
# 使用mysql原生函数 func
原sql
select max(RX) as RX,
max(TX) as TX,
max(TH + 0) as TH,
date_format(date, "%Y-%m-%d") as date
from firewall
where ...
group by date_format(date, "%Y-%m-%d");
1
2
3
4
5
6
7
2
3
4
5
6
7
转化后
filters = {
Firewall.date >=
datetime.datetime.now() - datetime.timedelta(days=day),
Firewall.date <= datetime.datetime.now()
}
db.query(func.max(Firewall.RX).label("RX"),
func.max(Firewall.TX).label("TX"),
func.max(Firewall.TH + 0).label("TH"),
func.date_format(Firewall.date, "%Y-%m-%d").label("date")
).filter(*filters).group_by(
func.date_format(Firewall.date, "%Y-%m-%d")).all()
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Last Updated: 2021/07/05, 11:58:50