2011-11-18 97 views
0

以下是困境:我有一個包含行的表。我需要基於特定值(在電子郵件列)的頻率進行計數,然後在特定列(成本)ADD號碼...作爲例子基於計數梳理行,增加值

mail   cost 
[email protected]  10 
[email protected]  5 
[email protected] 3 
[email protected]  7 
[email protected] 2 

所以我需要基於所述組行電子郵件地址,並在分組行「成本」列中添加數字。結果應該出來作爲一個磁盤陣列:

email   frequency totalCost 
[email protected]  3   22 
[email protected] 2   5 

回答

0

這可以通過一個SQL查詢完成。

SELECT 
    email, 
    COUNT(email) AS frequency, 
    SUM(cost) AS totalCost 
FROM 
    emails 
GROUP BY 
    email 
0

下面就來嘗試一種方法:

INSERT INTO frequency (mail, frequency, cost) 
SELECT mail, COUNT(*), SUM(cost) FROM mail GROUP BY mail; 

這是假設:

mail是包含你的第一個數據集 frequency表是表你想輸入你的總值。

讓我們知道這是否正常工作:)

[編輯/附加]: 這些表的定義我認爲:

CREATE TABLE mail (
     mail VARCHAR(50) 
    , cost INT 
); 

CREATE TABLE frequency (
     mail VARCHAR(50) 
    , frequency INT 
    , cost INT 
); 
0

這個查詢應該工作:

SELECT email, COUNT(*) AS frequency, SUM(cost) AS totalCost 
FROM your_table 
GROUP BY email 

然後,您可以使用您使用的任何API在PHP中獲取它。這些都是基礎知識,理論上你應該可以自己想出解決方案,只要你準備好申請。