Как выбрать отличное значение по логическому условию в sqlalchemy - PullRequest
0 голосов
/ 10 марта 2020

Я хочу выбрать отдельное значение столбца, сгруппировать по другому условию столбца (равно или нет), например, таблицу:

column  A, B
1, blue
2, blue
3, yellow

sql подобно:

select distinct(A), B=='blue' as `is_blue` group by `is_blue`

ожидается результат:

1, True
2, True
3, False

с использованием sqlalchemy дважды:

session.query(Table.A).filter(Table.B == 'blue').distinct(Table.A)
session.query(Table.A).filter(Table.B != 'blue').distinct(Table.A)

но как запросить его один раз?

1 Ответ

0 голосов
/ 10 марта 2020

автоответчик, это правильно и эффективно?

crit_d = (Table.B == 'blue') 
res = session.query(Table.A, crit_d.label('is_default')).distinct(
    tables.Records.type, crit_d) 
for r in res: 
    print(r.type, r.is_default)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...