如何使用peewee从datetime选择不同的年份

lyfkaqu1  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(514)

我创建了一个mysql表,其中包含以下字段:

id - int - auto_increment
dt - DateTime 
desc - VARCHAR 255

现在我想知道如何使用python中的peewee只从这个表中选择年份。应删除相等的年份。
在sql中,我只需要 SELECT DISTINCT YEAR(dt) AS yr from data; 以得到期望的结果。
我知道 db.execute_sql 方法来执行原始sql查询。我想知道是否有一个更干净的方法。
谢谢并致以最诚挚的问候。

qq24tv8q

qq24tv8q1#

你可以这样做:

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)

相关问题