计算 yii2 中类型为 DATE 的列的平均天数与今天日期的差异
Calculate Avg Sum of days from column with type DATE in yii2 with diiference from today date
我需要有关查询的帮助或在 yii2 中处理单个查询的方法。
应用程序在 yii2 中,在管理仪表板上工作。我需要显示系统中已启用的从今天开始的所有库存产品的平均天数(简而言之,库存库存的平均年龄)。
注意:结果,列只需要一个平均总数即可在仪表板上显示计数。
我有一个 table 列 stock_date
,以 DateTime 格式存储 Y-m-d H:i:s
.
公式
- ( STOCK_DATE - TODAY DATE ) 会给出系统中单品的年龄。
- “stock_date”列的总和/启用的产品总数
会给你平均天数。
Table 列:
- inventory_id(主键)
- 状态(1 表示已启用)
- stock_date(日期时间)
stock_date column screenshot
$AvgStatsCount = Inventory::find()
->select('sum(stock_date ) as stockdate')
....
->all();
有人知道如何以正确的方式做到这一点吗?
Posting Answer : working code for me :
$query = new Query;
$query->from('mytable')->where(['status' => 1]);
$AvgStatsCount = $query->average('DATEDIFF(stock_date, CURRENT_DATE())');
为此,我建议使用 yii\db\Query
而不是从 ActiveRecord
扩展而来的模型 class。使用 Query
,您可以使用 average
、min
和 max
等方法,这些方法将列名或 SQL 表达式字符串作为参数,而 return查询中的最大值、最小值或平均值。
为了区分 stock_date - today
我不明白你用的是什么格式,所以我不能帮你这样。
编辑:
所以 stock_date
在 Y-m-d H:i:s
日期格式中,你可以用 yii\db\Query
class:
做这样的事情
use yii\db\Query;
...
$query = new Query;
$query->from('myTable');
$query->where(['>', 'stock_date', date('Y-m-d')]);
$average = $query->average('DATEDIFF(`stock_date`, CURRENT_DATE())');
我需要有关查询的帮助或在 yii2 中处理单个查询的方法。
应用程序在 yii2 中,在管理仪表板上工作。我需要显示系统中已启用的从今天开始的所有库存产品的平均天数(简而言之,库存库存的平均年龄)。
注意:结果,列只需要一个平均总数即可在仪表板上显示计数。
我有一个 table 列 stock_date
,以 DateTime 格式存储 Y-m-d H:i:s
.
公式
- ( STOCK_DATE - TODAY DATE ) 会给出系统中单品的年龄。
- “stock_date”列的总和/启用的产品总数 会给你平均天数。
Table 列:
- inventory_id(主键)
- 状态(1 表示已启用)
- stock_date(日期时间)
stock_date column screenshot
$AvgStatsCount = Inventory::find()
->select('sum(stock_date ) as stockdate')
....
->all();
有人知道如何以正确的方式做到这一点吗?
Posting Answer : working code for me :
$query = new Query;
$query->from('mytable')->where(['status' => 1]);
$AvgStatsCount = $query->average('DATEDIFF(stock_date, CURRENT_DATE())');
为此,我建议使用 yii\db\Query
而不是从 ActiveRecord
扩展而来的模型 class。使用 Query
,您可以使用 average
、min
和 max
等方法,这些方法将列名或 SQL 表达式字符串作为参数,而 return查询中的最大值、最小值或平均值。
为了区分 stock_date - today
我不明白你用的是什么格式,所以我不能帮你这样。
编辑:
所以 stock_date
在 Y-m-d H:i:s
日期格式中,你可以用 yii\db\Query
class:
use yii\db\Query;
...
$query = new Query;
$query->from('myTable');
$query->where(['>', 'stock_date', date('Y-m-d')]);
$average = $query->average('DATEDIFF(`stock_date`, CURRENT_DATE())');