Как выбрать разные годы из DateTime с Peewee

0

Я создал таблицу MySQL с этими полями:

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

Теперь я хотел бы знать, как выбрать только годы из этой таблицы с Peewee в Python. Равные годы должны быть удалены.

В SQL я бы просто сделал SELECT DISTINCT YEAR(dt) AS yr from data; для получения желаемого результата.

Я знаю метод db.execute_sql для выполнения необработанного SQL-запроса. Интересно, однако, если есть более чистый способ.

Спасибо и всего наилучшего.

Теги:
peewee

1 ответ

0

Вы можете сделать это следующим образом:

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)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню