求QueryBuilder查询语句:统计用户对话的去重联系人总数
用QueryBuilder统计用户联系的不同人员总数(去重)
针对你需要统计指定用户正在联系的不同人员总数并排除重复数据的需求,这里提供QueryBuilder的实现方案(以Laravel框架为例):
实现代码
// 指定要查询的用户ID $targetUserId = 165; // 执行查询并统计去重后的人员数量 $uniqueContactCount = DB::table('你的聊天记录表名') ->where('conver_user_id', $targetUserId) ->distinct() ->count('conver_user_seller_id'); // 输出结果 echo "Total count: " . $uniqueContactCount;
代码说明
where('conver_user_id', $targetUserId):筛选出当前目标用户的所有聊天记录distinct():对conver_user_seller_id字段进行去重处理,确保每个联系人只被统计一次count('conver_user_seller_id'):统计去重后的唯一联系人数量
另一种等价写法
也可以通过原生SQL函数实现去重统计:
$uniqueContactCount = DB::table('你的聊天记录表名') ->where('conver_user_id', $targetUserId) ->count(DB::raw('DISTINCT conver_user_seller_id'));
内容的提问来源于stack exchange,提问作者tresurecm
相关产品推荐
相关产品推荐

