卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章34730本站已运行393

Ent 查询中的嵌套聚合

ent 查询中的嵌套聚合

php小编苹果在本文中将为大家介绍“Ent 查询中的嵌套聚合”。在数据查询和分析中,嵌套聚合是一种强大的技术,可以在一个查询中进行多个层级的聚合操作。通过使用嵌套聚合,我们可以更加灵活地对数据进行深入分析,从而得到更精准的结果。本文将详细解释什么是嵌套聚合,以及如何在Ent框架中实现嵌套聚合操作,帮助读者更好地理解和应用这一技术。

问题内容

如何使用 ent 生成的代码编写这个简单的 sql 语句?

select max(t.sum_score) from
                             (select sum(score) as "sum_score"
                              from matches
                              group by team) as t

我尝试使用此处所述的自定义 sql 修饰符功能标志,但我不知道如何从修饰符外部访问 sum_score 字段。

解决方法

这是 ent 项目所有者 a8m 的回答(谢谢!)

client.Match.Query().
    Aggregate(func(s *sql.Selector) string {
        const as = "max_score"
        s.GroupBy(match.FieldTeam).OrderBy(sql.Desc(as)).Limit(1)
        return sql.As(sql.Sum(match.FieldScore), as)
    }).
    IntX(ctx)

您可以在此处在官方 github 存储库上找到完整答案。 我必须添加 sql.desc(as) 才能获得最大值。

卓越飞翔博客
上一篇: Prometheus 摘要分位数错误
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏