首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >获取两个日期之间的数据,如果不存在数据,则应以计数形式返回0。

获取两个日期之间的数据,如果不存在数据,则应以计数形式返回0。
EN

Stack Overflow用户
提问于 2022-08-02 11:21:10
回答 2查看 96关注 0票数 0

这里有一个在laravel查询中需要解决的问题,在这个情况下,我需要从一个表中获取特定日期之间的数据并返回数据,但是我也需要返回所有数据,包括不存在日期。

这是我的桌子结构--

代码语言:javascript
运行
复制
id | date        | user_id
1    2022-08-02      1
2    2022-08-02      2
3    2022-08-01      2

现在,如果我从25-07-2022到02-08-2022之间的数据库中获得数据,那么结果集应该是

代码语言:javascript
运行
复制
  date      |   user_count
2022-08-02          2
2022-08-01          1
2022-07-31          0
2022-07-30          0
2022-07-29          0
2022-07-28          0
2022-07-27          0
2022-07-26          0
2022-07-25          0

这就是我需要在查询中获得的结果。请让我知道我应该写哪一个查询来获取上面输出的数据。我已经编写了普通的mysql查询和laravel查询,但无法为上面的输出找到查询解决方案。请提前表示感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-08-02 12:00:26

写东西要快,要打印想要的结果

代码语言:javascript
运行
复制
  $period = CarbonPeriod::create('2018-06-14', '2018-06-20');
    foreach ($period as $date)
    {
       $arr[] = DB::table('table_name')->selectRaw('date, count(user_id)')->where('date', $date)->get()->toArray();
    }
    dd($arr);
票数 1
EN

Stack Overflow用户

发布于 2022-08-02 11:45:34

代码语言:javascript
运行
复制
->whereBetween('date',[ 2022-07-25, 2022-08-02])

我想上面的代码会起作用的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73206691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档