Php 基于另一个字段计算字段的出现次数

Php 基于另一个字段计算字段的出现次数,php,mysql,Php,Mysql,我试图计算某个字段,以及它在日期基础上出现的次数。例如,我有一个需要统计的声誉字段,因此,如果2014年12月14日有5个单独提交的声誉点,我如何获得总金额,而不仅仅是5行 这是我正在尝试做的一个例子(如果有助于更好地解释) 今天[2014-12-08 09:53:27]AH05有1个(我只是重复了一遍,不管它在表中出现了多少次),如果有帮助的话,下面是SQL SELECT *, COUNT(*) as TotalValueCount, DATE(date_created) AS the

我试图计算某个字段,以及它在日期基础上出现的次数。例如,我有一个需要统计的声誉字段,因此,如果2014年12月14日有5个单独提交的声誉点,我如何获得总金额,而不仅仅是5行

这是我正在尝试做的一个例子(如果有助于更好地解释)

今天[2014-12-08 09:53:27]AH05有1个(我只是重复了一遍,不管它在表中出现了多少次),如果有帮助的话,下面是SQL

    SELECT *, COUNT(*) as TotalValueCount, DATE(date_created) AS thedate
    FROM wp_rg_lead INNER JOIN wp_rg_lead_detail ON wp_rg_lead.id = wp_rg_lead_detail.lead_id
    WHERE wp_rg_lead.form_id = '47' AND date_created BETWEEN DATE_SUB(NOW(), INTERVAL 7 DAY) 
    AND NOW() AND field_number = '18' GROUP BY value, date_created

您可以执行
groupby
查询,但结果将是行而不是列:


如果出于某种原因,您真的必须在列中包含这些值,那么我建议您在应用程序层进行此操作。否则,谷歌“MySQL dynamic pivot”会提供一些建议。

声誉是以整数还是字符串的形式存储的?我只需要计算一个基于日期的值的声誉出现的次数,例如,如果一个站点一天内得到10分,我需要它显示今天的总分:10,而不是在页面上列出每行10次。这有意义吗?@user2101411。是的,这就是这个查询的作用。每个日期的值放在单独的一行上。我需要根据日期计算返回的代表积分行的总数,但我只是在一个页面上显示了十行,而不是总数。今天[2014-12-09]AR02有一行,这一行不止一行,但我只能显示一行。@user2101411。我的猜测是,您不希望在输出中包含
id
    SELECT *, COUNT(*) as TotalValueCount, DATE(date_created) AS thedate
    FROM wp_rg_lead INNER JOIN wp_rg_lead_detail ON wp_rg_lead.id = wp_rg_lead_detail.lead_id
    WHERE wp_rg_lead.form_id = '47' AND date_created BETWEEN DATE_SUB(NOW(), INTERVAL 7 DAY) 
    AND NOW() AND field_number = '18' GROUP BY value, date_created
select rep, date, count(*)
from table t
group by rep, date;