关于python:peewee-group-by-count-没有-count-字段的问题解决

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()))

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理