快速查看並再次找不到我的問題。所以我希望這裏有人能夠幫助。 我有一個與下面類似結構的大桌子。mysql按小時彙總多個列
DateTime | InboundUserID | OutboundUserID | CustomerUserID | Cost | Mins | Account Number
我想組以上數據爲每小時塊,結果在另一臺具有相似結構存儲到下面。
Date | HourFrom | HourTo | SumMins | SumCost | OutboundUserID | CustomerUserID | Account Number
我已經寫了下面的代碼/查詢爲了做到這一點,但它並不完全正確。基本上這個小組意味着並不是所有的數據都被彙總。例如,當查看新創建的表時,我擁有所有OutboundUserID數據,但沒有任何CustomerUserID數據。
for(int i=0;i <=23;i++)
{
for(int j=1 ; j <=31 ; j++)
{
String Time = String.format("%02d", i);
query = "INSERT DELAYED INTO correlated_calls_hourly " +
" SELECT DateOnly,HourFrom,HourTo,DURATION,CALLCOUNT,`Price Group ID`,INBOUNDCOST,INBOUNDREVENUE,`InboundCustomerID`,OUTBOUNDCOST,OUTBOUNDREVENUE,`Outbound Customer ID`,`Customer ID`,`Account Number`,`Service` FROM" +
" ("+
" SELECT "+
/* snip sum(),case and date/time part of query */
" GROUP BY DateOnly,`InboundCustomerID`,`OutboundCustomerID`,`CustomerID`,`AccountNumber`,`PriceGroupID`,`Service`" +
")a ";
}
}
我已經採取了創建三個不同的表由OutboundUserID/InboundUserID/CustomerUserID分別彙總數據的步驟。但如果我可以讓這個總結表正確工作,那將會更加優雅。
如果有人可以幫助我想辦法通過單個sql查詢來獲得所需的結果,我會非常感激。
提前感謝
艾倫
你有沒有考慮過使用視圖?如果您只是想將數據連接在一起以形成一種「報告」表格,創建單個表格似乎有點過分。 – DrColossos 2010-09-28 10:43:55
我曾想過這件事。不幸的是,大桌子現在有1200萬行,每天增長大約500,000行。我相信這是超出了簡單觀點的範圍? – 2010-09-28 12:39:02