mysql的sum函數(shù) mysql的datetime類型字段怎么像sum函數(shù)一樣求和?
mysql的datetime類型字段怎么像sum函數(shù)一樣求和?原則上,sum函數(shù)可以直接用于datetime類型的字段累加。例如,雖然可以從日志記錄中執(zhí)行select sum(logtime),但是這
mysql的datetime類型字段怎么像sum函數(shù)一樣求和?
原則上,sum函數(shù)可以直接用于datetime類型的字段累加。例如,雖然可以從日志記錄中執(zhí)行select sum(logtime),但是這種“時間”的累積是沒有意義的。對于MySQL,實際的算法是按照4位年、2位月、2位日、2位小時、2位分鐘和2位秒的順序形成一些datetime類型的字段值,然后進(jìn)行累加。如果表中只有兩條記錄,則登錄時間為logtime2016-07-15 13:55:122016-07-15 13:50:20sum,累計結(jié)果為40321430270532,則意義不大,除非編寫自定義函數(shù)將其轉(zhuǎn)換為時間和日期的顯示格式,即2000多年后的日期和時間,你能說什么?。一般來說,積累“時間”是沒有意義的,但積累“時間”是有意義的。如果您需要累計datetime類型字段,請在累計之前選擇一個簡單的時間單位數(shù)(如天、小時、秒等),您將有意義http://blog.csdn.net/chou出局人/文章/細(xì)節(jié)/78605165選擇i.uid,存款ddeposit moneyasallmoneyfrom
------------------------->選擇i.uid,sum(deposit ddeposit另外,由于您是多個表的左連接,考慮到存在空記錄,建議您使用ifnull函數(shù),以避免由null引起的錯誤,最后改成這樣:選擇i.uid,sum(ifnull(deposit,0)ifnull(ddeposit,0)ifnull(money,0))asallmoney
frompwmemberinfoileftjoinpwmembersmonm.uid=i成員.uidleftjoinpwumemberdatadoni.uid=d.uid
其中ifnull(存款,0)ifnull(存款,0)ifnull(貨幣,0)>2000