php - Yii2,从时间戳中获取平均值
问题描述
我有一个带有订单的基本表,其中有一个名为 created_at 的字段,它采用时间戳格式,我想获得每天创建多少订单的平均值。
找到了另一个类似的问题,类似于我在下面发布的问题,希望每个人都能理解我想要做什么。
//not working
$q = new \yii\db\Query();
$q->from('shopping_cart');
$total = $q->average('DATEDIFF(`created_at`, CURRENT_DATE())');
解决方案
我相信它比 Yii2 更多的是与 SQL 相关的问题。您需要的(如果我理解正确的话)是:
- 计算从开始到今天的天数
- 计算所有行
- 除以这些数字以获得平均值。
我已经尝试过了,它工作正常
SELECT
count(*) / (select round((unix_timestamp() - (select min(created_at) from table)) / 86400))
from table;
回到 Yii2:我相信你必须手动构建这个查询
\Yii::$app->db->createCommand()
推荐阅读
- ios - SwiftUI Stack Offset 在旋转时发生变化导致崩溃
- flutter - 通过使用flutter http请求获取数据并在向下滚动屏幕时加载更多数据
- linux - 如何在 Rust 中获取打开的 std::fs::File 的文件名?
- python - 格式字符串 - 数字
- pandas - 如何将值存储在变量中并使用该变量过滤熊猫中的数据
- c - 为什么在尝试编译 lex 示例时出现重复符号:main?
- javascript - 在多个类中通过 jquery 选择 ID 和类名
- asp.net-mvc - 默认情况下如何同时执行具有相同会话的多个 ASP.NET 请求?
- python - “pip install -e”中如何使用“egg=”?
- vue.js - 每当 `Vue instance` 的属性或函数发生变化时,一些方法就会被执行。请解释这种行为