我用以下字段创建了一个MySQL表:
id - int - auto_increment
dt - DateTime
desc - VARCHAR 255
现在,我想知道如何使用Python在Peewee中从表中仅选择年份。相等的年份应删除。
在SQL中,我只需做SELECT DISTINCT YEAR(dt) AS yr from data;
就可以得到想要的结果。
我知道执行原始SQL查询的db.execute_sql
方法。但是我不知道是否有一种更清洁的方法。
感谢和问候。
答案 0 :(得分:1)
您可以这样做:
query = Data.select(Data.dt.year.distinct())
for distinct_ts, in query.tuples():
print(distinct_ts)
按日期排序:
distinct_ts = Data.dt.year.distinct()
query = Data.select(distinct_ts.alias('timestamp')).order_by(distinct_ts)
for row in query:
print(row.timestamp)