簡體   English   中英

根據計數組合行,添加值

[英]Combing rows based on a count, adding values

這是一個難題:我有一個帶有行的表。 我需要根據某個值的頻率(在eMail列中)進行計數,然后在某些列(費用)中添加數字...例如

mail           cost
me@me.com      10
me@me.com      5
john@john.com  3
me@me.com      7
john@john.com  2

因此,我需要根據電子郵件地址對行進行分組,並在分組的行“費用”列中添加數字。 結果應以數組形式出現:

email          frequency  totalCost
me@me.com      3          22
john@john.com  2          5

這是嘗試的一種方法:

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
);

此查詢應工作:

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

然后,使用任何使用的API在PHP中獲取它。 這些都是基礎知識,理論上,如果您准備提出申請,那么您應該能夠自己提出這些解決方案。

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM