gpt4 book ai didi

php - 带 LIMIT 的 Laravel STDDEV

转载 作者:行者123 更新时间:2023-11-29 08:03:49 25 4
gpt4 key购买 nike

我正在尝试使用 Laravel 获取数据子集上的 AVG() 和 STDDEV_SAMP()。

所以我尝试过

//Data from which I want to calculate the AVG and STDDEV_SAMP()
//Limit the query to certain values
$subquery = TableAModel::join('TableB','TableA.TableB_id','=','TableB.id')
->select('Factor1')
->whereraw('conditionA <= 10')
->orderBy('DateTimeCode', 'desc')
->take('5')
->toSql();

//My aggregate functions
$aggregates = 'AVG(TableA.Factor1) as Factor1,
STDDEV_SAMP(TableA.Factor1) as Factor1_SD';
//My final query that should return the average and SD
$AVG_SD = \DB::table(\DB::raw(" ($subquery) as sub "))->select(\DB::raw("$aggregates"))->first()->toArray();

//it should return something like array([Factor1] => The_average, [Factor1_SD] => The_SD)

但是,它抛出“未找到列:1054‘字段列表’中的未知列‘TableA.Factor1’”。如果我尝试 select('*'),它会抛出“重复列 id”。

最佳答案

我对此没有任何经验,但是,在我看来,您创建了一个 View ,并从该 View 中找到 Factor1 的 STD 和 AVG。但是你说 AVG(TableA.Factor1) 作为 Factor1,我不认为 TableA 会是 DB::table(\DB::raw(" ($subquery) as sub ")) 的表名所以它找不到 Factor1 因为它找不到表。该表不应该被称为 sub 吗?

我不知道情况是否如此,但希望它有所帮助,也会留下评论,但我还没有代表:(。

关于php - 带 LIMIT 的 Laravel STDDEV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23119364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com