当前位置: 首页 > 知识库问答 >
问题:

与GroupBy一起计数,但不在Laravel工作

陆文斌
2023-03-14

我想通过聊天Id获得用户和组之间的聊天次数。但查询没有给出聊天次数。它是空白的。我在堆栈溢出(Laravel Elount groupBy()和count,Laravel get count of results Basin groupBy)中也看到过类似的问题,并使用了那些标记为正确但仍然没有得到所需结果的查询。

我使用以下查询:

$user_info = DB::table('chat_messages')
                ->select(DB::raw('count(*) as total'))
                ->where('viewed','=', '0')
                ->groupBy('chat_id','type')
                ->get();

我的表格结构如下:

{
"_id": ObjectId("571f549b1c8cb6972c8b4567"),
"message": "Testing Chat Functionality",
"type": "singlechat",
"date": "2016-04-26 11:44:27",
"from": "56b07a5a083f119a0b8b4569",
"to": "56b07a5a083f119a0b8b4569",
"chat_id": "56f65fc51c8cb6ca1a8b4567",
"status": "1",
"updated_at": ISODate("2016-04-26T11:44:27.624Z"),
"created_at": ISODate("2016-04-26T11:44:27.624Z"),
"viewed": "0"
}

结果是这样的:

Array
(
[0] => Array
    (
        [_id] => Array
            (
                [chat_id] => 56f65fc51c8cb6ca1a8b4567
                [type] => singlechat
            )

        [chat_id] => 56f65fc51c8cb6ca1a8b4567
        [type] => singlechat
        [count(*) as total] => 
    )

[1] => Array
    (
        [_id] => Array
            (
                [chat_id] => 56fa3f5f1c8cb667138b4567
                [type] => groupchat
            )

        [chat_id] => 56fa3f5f1c8cb667138b4567
        [type] => groupchat
        [count(*) as total] => 
    )

)

共有2个答案

唐信瑞
2023-03-14

试试这个代码。

 $this->select(\DB::raw("*, count(*) as total"))
->where('viewed', "0")
->groupBy(["chat_id", "type"]);
宋经业
2023-03-14
$user_info = DB::table('chat_messages')
                ->where('viewed','=', '0')
                ->select(DB::raw('count(chat_messages.*) as total'))
                ->groupBy('chat_id','type')
                ->get();

应该可以我现在无法测试

 类似资料:
  • 错误:org.apache.hive.service.cli.hivesqlexception:处理语句时出错:失败:执行错误,从org.apache.hive.service.cli.operation.operation.toSqlexception(operation.java:380)(org.apache.hive.service.cli.operation.sqloperation.r

  • 因此,我试图获取查询中不同PID的数量,但返回的值是错误的。 这就是我试图做的: 返回值“2”的,而它应该返回的值应该是“1”。 作为解决办法,我正在这样做: 什么工作正常并返回“1” 是否有任何规则规定count和distinct不能位于同一查询上?我发现解决方案有点“沉重”,我想让原始查询工作起来:(

  • 在我的Laravel应用程序中,我需要定期使用Guzzle将数据发送到API。 API使用承载令牌进行身份验证,并请求和接受原始JSON。为了进行测试,我使用Postman访问了API,一切都工作得很好。

  • 我正在将每30秒的成功计数指标和失败计数指标记录到石墨中。在Grafana中,我使用每秒钟和hitCount(1分钟)来聚合每分钟的计数(成功和失败)。现在我需要计算每分钟的成功百分比?关于如何继续的任何建议? 此外,我还在下面提到的第四个指标*上使用groupbyNode。

  • 我实现的片段如下: 保存父片段的活动。使用getSupportFragmentManager()添加父片段。 在父片段中,我使用getChildFragmentManager()和事务来替换子片段。 我再一次调用儿童片段,以此类推...... 除了共享过渡,一切都很好。 如果我使用getFragmentManager()而不是getChildFragmentManager(),则存在共享转换,但没

  • 问题内容: 我有一个看起来像这样的DataFrame: 我想将其转换为对属于某些bin的视图进行计数,如下所示: 我试过了: 但它仅提供汇总计数,而不提供用户计数。如何获得用户的垃圾箱计数? 总计计数(使用我的真实数据)如下所示: 问题答案: 您可以按垃圾箱 和 用户名分组,计算分组大小,然后使用: