2014-05-04 58 views
0

我目前正在尋找將某些日期分組到各自的星期,同時總結每週的字段(在這種情況下,它是'距離')。最重要的是,我想提供查詢的日期範圍。因此,我有以下SQL:mySQL - 將日期字段分組爲星期和總和數據

$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 
     "; 

沒有錯誤發生,我只是返回空值。有什麼建議麼?

任何幫助將不勝感激。

+0

可能沒有符合條件的數據。如果你在http://sqlfiddle.com提供數據和表格會很好。 –

+0

沒有完全定義列(或提供正確的DDL),這種問題總是令人沮喪地回答 – Strawberry

回答

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將匹配在另一個叫「日期」字段。也許你也有錯誤的連接標準。

+0

這似乎很奇怪,但我確信這是有效。兩者都是格式化的日期,一定會匹配。 –

相關問題