登录
首页 >  Golang >  Go问答

在Ent查询中的多层聚合

来源:stackoverflow

时间:2024-02-26 18:33:21 353浏览 收藏

小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《在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) 才能获得最大值。

以上就是《在Ent查询中的多层聚合》的详细内容,更多关于的资料请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>