thinkphp5 使用sql链式查询统计每个用户的消费金额总数并从多到少进行排序
时间: 2024-03-02 14:53:54 浏览: 111
你可以使用以下代码来实现:
```php
$total_amount = Db::name('order')
->field('user_id, sum(amount) as total')
->group('user_id')
->order('total', 'desc')
->select();
```
这个代码使用了 ThinkPHP5 的 Query Builder,它允许你使用链式语法来构建 SQL 查询。
在这个例子中,我们查询了订单表并指定了要查询的字段,使用 `sum()` 函数来计算每个用户的消费金额总数,并指定了别名为 `total`。然后我们使用 `group()` 函数按照 `user_id` 字段分组,并使用 `order()` 函数按照 `total` 字段从多到少进行排序。
最后,我们使用 `select()` 函数执行 SQL 查询,并将结果存储到 `$total_amount` 变量中。
阅读全文