laravel - Laravel - 每日收入问题
问题描述
我正在尝试使用以下查询获取每日、每周、每月、每年和总收入:
$revenues = DB::table("vw_revenue_report")
->select(
"vw_revenue_report.channel",
DB::raw("SUM(CASE WHEN created_at = NOW() - INTERVAL 1 DAY THEN amount ELSE 0 END) daily_revenue"),
DB::raw("SUM(CASE WHEN created_at >= NOW() - INTERVAL 1 WEEK THEN amount ELSE 0 END) weekly_revenue"),
DB::raw("SUM(CASE WHEN created_at >= NOW() - INTERVAL 1 MONTH THEN amount ELSE 0 END) monthly_revenue"),
DB::raw("SUM(CASE WHEN created_at >= NOW() - INTERVAL 1 YEAR THEN amount ELSE 0 END) yearly_revenue"),
DB::raw("SUM(vw_revenue_report.amount) total_revenue")
)
->groupBy("vw_revenue_report.channel")
->orderByRaw('vw_revenue_report.channel ASC')
->get();
我有问题:
DB::raw("SUM(CASE WHEN created_at = NOW() - INTERVAL 1 DAY THEN amount ELSE 0 END) daily_revenue")
通常,它应该返回当天的收入。它没有给我所需的结果。它只显示0
注意: 1. created_at 是日期时间格式
- 它应该按频道分组
解决方案
请注意,您=
在... created_at = NOW() ...
, 而不是中使用直接比较>=
。因此,您只会匹配恰好在 24 小时前创建的收入报告记录。
推荐阅读
- minecraft - 当我尝试导出我的 Minecraft mod 时,gradlew build 在 VSCode 中不起作用
- python - 如何在远程服务器上运行的 jupyter 中获取本地剪贴板?
- algorithm - 使用高效的 `has` 操作实现堆栈
- reactjs - 模块解析失败,意外令牌(ReactJS)
- javascript - javascript 2D 数组值交换
- javascript - 输入处于焦点状态时的调节器模态渲染不起作用
- xml - XSLT 希望删除属性然后重新匹配元素
- python - 无法导入大括号库
- java - 如何判断您的 Android 应用在 Android Studio 中使用的是 Kotlin 还是 Java?
- php - 在 PHP 中获取 REST API 结果