【发布时间】:2022-01-01 07:33:58
【问题描述】:
联系人表的列
Name=client_id
Name=room_id
Name=stats - a number
Name=date
我需要计算一年、每周、每月和每季度的统计数据,以及统计数据列的许多总和。我为旧系统创建了这个 SQL,现在我需要获取 stats 列的总和,而不是像以前那样计算它们。
SELECT
SUM(
date > '2021-01-11 00:00:00'
AND date < '2021-01-18 00:00:00'
AND room_id = 6
AND client_id = 1
) as week1,
SUM(
date > '2021-12-20 00:00:00'
AND date < '2021-12-27 00:00:00'
AND room_id = 6
AND client_id = 1
) as week51,
SUM(
date > '2021-01-01 00:00:00'
AND date < '2021-01-31 23:59:00'
AND room_id = 6
AND client_id = 1
) as month1,
SUM(
date > '2021-12-01 00:00:00'
AND date < '2021-12-31 23:59:00'
AND room_id = 6
AND client_id = 1
) as month12
FROM
contact;
是否可以使用 Eloquent 来实现,或者我需要使用 DB 外观?如果使用 Eloquent 是一种更简单的方法,我想使用它。
【问题讨论】:
-
您需要按
month或week对记录进行分组 -
请提供一些示例数据