q = KeywordTask.select(
KeywordTask.track_source_id,
fn.COUNT(KeywordTask.track_source_id)
).group_by(KeywordTask.track_source_id)
我希望按照分组统计个数,但是遇到了一个问题,就是 count 的结果出不来,加上 dicts 也出不来
只有 track_source_id ,没有 count
怎么办?
解决方案,必须给 count 一个别名才行
q = KeywordTask.select(
KeywordTask.track_source_id,
fn.COUNT(KeywordTask.track_source_id).alias('count')
).group_by(KeywordTask.track_source_id)
有了别名就行了
完整代码
from core.mysql.models import KeywordTask
from peewee import fn
from loguru import logger
q = KeywordTask.select(
KeywordTask.track_source_id,
fn.COUNT(KeywordTask.track_source_id).alias('count')
).group_by(KeywordTask.track_source_id)
logger.debug(str(q))
logger.debug(list(q.dicts()))