群组

0
视频
0
完成
0%
进度
0
分钟
0
完成
0%
进度

在 user 里面,有 created_at ,表示创建的日期 ... weight 表示用户的体重,gender 表示用户的性别 .. 我现在想按照创建日期,统计一下每天注册的用户的总体重是多少 ..

先试一下数据库的 date 函数 ... 用它处理一下 created_at 的值 ..

table User.select("date(created_at)")

created_at 这个字段的值就会只有一个日期 ... 给这个用 date 处理的字段起个名字 ... 用一个 as ,然后是它的名字..

table User.select("date(created_at) as date")

这样这栏内容就会是这个 date ..

求和可以使用 sum 函数 ... 逗号分隔一下 ... 用 sum 处理一下 weight 栏的内容 .. 起个名字还叫 weight .. 接着再用一个 group .. 设置一下分组 ... 把使用 date 处理的 created_at 交给 group 方法 ..

table User.select("date(created_at) as date, sum(weight) as weight").group("date(created_at)")

这样得到的结果就是,每一天注册的用户的总的体重 ...

使用 having 可以过滤一下 ... 比如我想得到每天总体重大于 200 的结果 ... sum(weight) 大于 ? ,后面再设置一下这个 ? 号表示的值 ..

table User.select("date(created_at) as date, sum(weight) as weight").group("date(created_at)").having("sum(weight) > ?", 200)

返回的结果就是 10 月 1 号的注册用户的总体重大于 200

群组《 Rails:查询接口 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点