这就是困境:我有一张有行的表。我需要根据某个值的频率(在eMail列中)进行计数,然后在某个列(成本)中添加数字......作为示例
mail cost
me@me.com 10
me@me.com 5
john@john.com 3
me@me.com 7
john@john.com 2
所以我需要根据电子邮件地址对行进行分组,并在分组的行“cost”列中添加数字。结果应该是一个数组:
email frequency totalCost
me@me.com 3 22
john@john.com 2 5
答案 0 :(得分: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
);
答案 1 :(得分:0)
此查询应该有效:
SELECT email, COUNT(*) AS frequency, SUM(cost) AS totalCost
FROM your_table
GROUP BY email
然后,使用您使用的任何API在PHP中获取它。这些是基础知识,理论上,如果您准备好申请,您应该能够自己提出这些解决方案。
答案 2 :(得分:0)
这可以通过单个SQL查询来完成。
SELECT
email,
COUNT(email) AS frequency,
SUM(cost) AS totalCost
FROM
emails
GROUP BY
email