You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel如何统计拥有ongoing项目的独立client_id总数

Laravel 统计拥有进行中项目的独立客户数

要统计拥有至少一个ongoing状态项目的独立client_id数量,你可以用以下两种常用方法:

  • 方法一:使用distinct()去重后统计
    直接对client_id字段去重,再统计数量:

    Project::where('status', 'Ongoing')->distinct()->count('client_id');
    

    这个方法会先筛选出所有状态为Ongoing的记录,然后对client_id去重,最后统计去重后的总数,正好满足你“同一client_id仅计1次”的需求。

  • 方法二:使用groupBy()分组后统计
    按client_id分组,统计分组的数量:

    Project::select('client_id')->where('status', 'Ongoing')->groupBy('client_id')->count();
    

    如果你的Laravel开启了MySQL严格模式(默认开启),直接用groupBy可能会报错,这时候要么在config/database.php的mysql配置里把strict设为false,要么就像上面那样明确指定要查询的字段client_id,避免触发严格模式的限制。

两种方法最终效果一致,你可以根据自己的习惯选择。

内容的提问来源于stack exchange,提问作者Chizo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 14:30:38