mySQL - 将组日期字段分为几周和总和数据

时间:2014-05-04 14:38:02

标签: mysql sql

我目前正在寻找将一些日期分组到各自的几周,同时总结每周的一个字段(在这种情况下,它是'距离')。最重要的是,我想为要进行的查询提供日期范围。所以我有以下SQL:

$sql = "SELECT week(lapDate) AS WEEK, sum(distance) AS DISTANCE
        FROM activity
        LEFT JOIN lap
        ON activity.activityID = lap.lapDate
        AND activity.email = '$email'
        AND lap.lapDate BETWEEN '$fromDate' AND '$toDate'
        GROUP BY WEEK
        ";

没有发生错误,我只是返回了空值。有什么建议吗?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您正在引用left outer join第二个表格中的日期。如果没有匹配项,那么您将获得NULL个值。

SELECT week(a.activityID) AS WEEK, sum(distance) AS DISTANCE
FROM activity a LEFT JOIN
     lap
     ON a.activityID = lap.lapDate AND
        a.email = '$email' AND
        lap.lapDate BETWEEN '$fromDate' AND '$toDate'
GROUP BY WEEK;

对我来说,一个表中名为ActivityId的列与另一个表中的“日期”字段匹配似乎很奇怪。也许你也有错误的加入标准。