2009-06-23 16 views
0

我有,因此目前定義爲需要幫助建立一個包含兩個不同的總和

CREATE VIEW riders AS選擇ridelog景色的視圖。 uid AS rid,sum(ridelog.distance)AS distance from ridelog group by rideloguid

我想什麼做的就是添加,顯示距離y-T-d的第二場。即自今年1月1日以來發生的乘坐距離之和。

問題是,我不知道如何說mysql中的「當前年份」,或者如果我可以創建一個視圖,其中有不同的標準總和。

這可能嗎?

回答

3

這樣做 - 只要您的視圖始終應包含當年的列。

CREATE VIEW riders AS 
    SELECT 
     ridelog.uid AS rid, 
     SUM(ridelog.distance) AS distance, 
     SUM(IF(YEAR(ridelog.<<date_time_column>>) = YEAR(NOW()), ridelog.distance, 0) AS distanceThisYear 
    FROM ridelog 
    GROUP BY ridelog.uid 

使用此方法,您無法指定要計算距離的年份。另一種可能性是使用以year作爲參數的存儲過程。

+0

你明白了,謝謝。我不知道我可以在sum()中嵌入一個if()! – 2009-06-23 13:44:33