php - 使用 group by 函数对多列进行 sum()

标签 php mysql sql group-by sum

我需要收集每列的计数,并且每行有多个结果。问题在于这些列重复了第一列的值。

  $sql="SELECT MODEL, 
     sum(CLICK) AS LOCCLICK, sum(VIEW) AS LOCVIEW, sum(EMAIL) AS LOCEMAIL, sum(SHARE) AS LOCSHARE
      FROM     STAT
      WHERE    ID = ".$id."
      GROUP BY MODEL";
       $result = $mysqli->query($sql);

        if ($result->num_rows > 0) {
            // output data of each row
            while($row = $result->fetch_assoc()) {
                $clickcoun = $row['LOCCLICK'];
                $viewcoun = $row['LOCVIEW'];
                $emailcoun = $row['LOCEMAIL'];
                $sharecoun = $row['LOCSHARE'];
                $model = $row['MODEL'];
                echo "\n";
                // Log the stats into the daily updates.
                 $sqlx = 'INSERT INTO DAILY (ID, QDATE, VIEWS, CLICKS, EMAILS, SHARES, MODEL) 
                VALUES ('.$id.', NOW(), '.$viewcoun.', '.$clickcoun.', '.$emailcoun.', '.$sharecoun.', "'.$model.'" )';
                  $mysqli->query($sqlx);
                  } 
                 } else {
                      echo "0 results"; die();
                 }

我正在寻找的结果如下:

福特:浏览量 = 302,电子邮件 = 21,分享 = 10

道奇:浏览量 = 567,电子邮件 = 41,分享 = 13

雪佛兰:浏览次数 = 324,电子邮件 = 23,分享 = 9

我想将这些输入到每日统计数据分割中,以便我可以查询它们,将它们放入图表中并显示它们的每日覆盖范围。在月底,我计划以相同的方式再次将它们分解为每月概览。

最佳答案

您不需要循环来执行此操作。只需使用 insert 。 。 。选择:

INSERT INTO DAILY (ID, MODEL, CLICKS, VIEWS, EMAIL, SHARES, QDATE) 
    SELECT $id, MODEL, sum(CLICK) AS LOCCLICK, sum(VIEW) AS LOCVIEW,
           sum(EMAIL) AS LOCEMAIL, sum(SHARE) AS LOCSHARE, now()
    FROM STAT
    WHERE ID = ".$id."
    GROUP BY MODEL;

关于php - 使用 group by 函数对多列进行 sum(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28380214/

相关文章:

php - 为什么 -stringWithContentsOfURL 不返回我的 php echo?

asp.net - 如何在没有 SqlDataSource 的情况下将 mysql 连接到 DevExpress ASPxScheduler

sql - VS 2013 中是否有 localdb (mdf) 的级联删除选项

php - Youtube视频PHP API 'too_many_recent_calls'

PHP子查询选择 friend 表中与我成为 friend 的所有用户的个人资料

mysql - magento mysql 主/从复制 - 未使用从属

php - 无法在 WooCommerce 的某些模板中获取类别对象

sql - 从 SQL Server 自动提取日期 - T-SQL

sql - 如何在 BigQuery 中获取两个数组的交集

php - Laravel-4.1 时间戳()问题