在 GORM 中,可以使用 "Select" 方法进行条件查询,并使用 "Sum" 方法统计另一个字段的数据总和。\n\n假设有一个 "User" 模型,其中有 "name" 和 "age" 字段,现在要查询年龄大于等于 18 岁的用户的年龄总和,可以使用如下代码:\n\ngo\nvar totalAge int64\ndb.Select("sum(age)").Where("age >= ?", 18).Find(&User{}).Pluck("sum", &totalAge)\n\n\n在上述代码中,"db" 是一个 "*gorm.DB" 对象,表示数据库连接。"Select("sum(age)")" 表示要查询并统计 "age" 字段的总和。"Where("age >= ?", 18)" 表示筛选出年龄大于等于 18 岁的用户。"Find(&User{})" 表示执行查询,并将结果存储到 "User" 模型中。"Pluck("sum", &totalAge)" 表示将查询结果中的 "sum" 字段的值赋值给 "totalAge" 变量。\n\n需要注意的是,上述代码中的 "User{}" 部分是为了指定查询结果的类型,具体情况可以根据实际需求进行调整。另外,如果要查询的字段是字符串类型,可以使用 "sum(CONVERT(age, UNSIGNED))" 替代 "sum(age)" 进行类型转换。


原文地址: https://www.cveoy.top/t/topic/pOf0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录