gpt4 book ai didi

mysql - Laravel 计数行值 > 0

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

一段时间以来,我一直在尝试为我的查询找到解决方案。但我还没能解决它。大部分工作都很好,但计数部分并不像我预期的那样工作。

我的查询如下所示:

        $years = Sample::whereCostumerId($id)
->groupBy('year')
->orderBy('year', 'DESC')
->get(array(
DB::raw('year'),
DB::raw('COUNT(id) as antalProver'),
DB::raw('MIN(provnr) AS minProvnr'),
DB::raw('MAX(provnr) AS maxProvnr'),
DB::raw('count(P_HCl) AS numP_HCl'),
DB::raw('count(Total_lerhalt) AS numLerhalt'),
DB::raw('ROUND(AVG(pH),1) AS avgpH'),
DB::raw('ROUND(AVG(P_AL),1) AS avgP_AL'),
DB::raw('ROUND(AVG(K_AL),1) AS avgK_AL'),
DB::raw('AVG(X) AS coordExist')
));

这里的问题是 P_HCl 和 Total_lerhalt 列中的许多行都包含零。而且我不想数这些。我只想计算值大于零的地方。我确信对此有一些不错的解决方案。如果你们对查询有任何其他解决方案,我很高兴看到它。

谢谢

最佳答案

您已经完成了大部分工作 - 您只需在查询中添加 where 子句即可:

$years = Sample::whereCostumerId($id)
->groupBy('year')
->orderBy('year', 'DESC')
->where('year', '>', 0)
->get(array(
DB::raw('year'),
DB::raw('COUNT(id) as antalProver'),
DB::raw('MIN(provnr) AS minProvnr'),
DB::raw('MAX(provnr) AS maxProvnr'),
DB::raw('count(P_HCl) AS numP_HCl'),
DB::raw('count(Total_lerhalt) AS numLerhalt'),
DB::raw('ROUND(AVG(pH),1) AS avgpH'),
DB::raw('ROUND(AVG(P_AL),1) AS avgP_AL'),
DB::raw('ROUND(AVG(K_AL),1) AS avgK_AL'),
DB::raw('AVG(X) AS coordExist')
));

关于mysql - Laravel 计数行值 > 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29121878/

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