看板 Database 關於我們 聯絡資訊
正常情況下去想,需要寫很多判斷 不過換個想法,可以偷機,就是在日期上動手腳 凡是時間為05:00:00之前的,一律日期減一,反之不減 比如說第一筆2010-11-05 04:59:59 -->2010-11-04 第二筆和第三筆同邏輯,則歸類於----->2010-11-05 你再用那個轉換過後的日期來GROUP就可以了 ※ 引述《kalecgos0616 (.)》之銘言: : 資料庫是MySQL 5.0.27 : 現在資料表有這些資料 : Table : Time Type1 Value1 Type2 Value2 : 2010-11-05 04:59:59 a 100 b 200 : 2010-11-05 08:00:00 b 300 a 100 : 2010-11-06 01:00:00 b 200 b 300 : 我要統計每天早上05:00:00後到隔日早上04:59:59之間的資料為一筆 : 我現在這樣寫 : SELECT SUM(IF(`Type1`='a', `Value1`, 0))+SUM(IF(`Type2`='a', `Value2`, 0)) AS : A, : SUM(IF(`Type1`='b', `Value1`, 0))+SUM(IF(`Type2`='b', `Value2`, 0)) AS : B, : SUBSTR( `Time` , 1, 10 ) : FROM Table : WHERE 1 : GROUP BY SUBSTR( `Time` , 1, 10 ) : 這樣會變成,第一、二筆資料算在一起 : A B Time : 200 500 2010-11-05 : 0 500 2010-11-06 : 我希望是第二、三筆資料算在一起 : A B Time : 100 200 2010-11-04 : 100 800 2010-11-05 : 請問該怎麼下SQL語法呢? -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.253.215.163