php - 如何将多行计数与其容器分组

标签 php mysql

我有一个名为 eventsn 和 events 的两个表 在 eventsn 表中,我有: eventsname、eventsID、userID 在事件表上我有:内容,用户ID和事件ID
我想统计用户发布的事件数量并按事件名称对其进行分组

请注意,在我的网站上,我有自己的默认事件,这些事件已存储在 eventsn 表中。 我必须从默认事件和用户创建的事件中进行计数

现在看看我的 table

Eventsn表结构

eventsID, eventsname, userID.           
1,        EventA,     admin
2,        EventB,     admin
3,        praise,     0001
4,        EventC,     admin

事件表结构

eventsID, content, userID.           
1,        xxx,     0001
2,        xyy,     0001
2,        xxxq,    0001
2,        yyyy,    0001

我的预期结果如下

EG 用户A帖子:

Eventsname capacity

EventA:    1
EventB:    3
praise:    0
EventC:    0

这是我尝试过的:

<?php
   public function rating() {
     $this -> jpt_connect();
     $userID= $this ->users_info('userID');
     $rating_ar = array();

     $sql =mysql_query("SELECT
       evn.eventsname,
       COUNT(ev.content) as  no
       FROM eventsn as evn
       LEFT JOIN  events   as ev 
       ON.  (evn.userID = '$userID')
       AND (evn.eventsID=ev.eventsID )
     WHERE evn.userID ='admin'
     OR  evn.userID='$userID' ")
   or   die(mysql_error());

   while($row= mysql_fetch_array($sql)) {
     $rating_ar[] =$row;
   }

   return $rating_ar;
}

$j = new jkp();
$array =$j -> rating();
?>

我但是什么也没发生,提前致谢

最佳答案

我会尝试:

SELECT eventsn.eventsname, eventsn.userid, COUNT(events.eventid) AS tot
FROM
  eventsn LEFT JOIN events
  ON eventsn.eventid = events.eventid
GROUP BY
  eventsn.eventsname, eventsn.userid

请参阅 fiddle here .

关于php - 如何将多行计数与其容器分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21736158/

相关文章:

php - 无法在xampp中显示图像

PHP Sum 列值,如果多个键是相同的 MySql

php - 传递给 each() 的数组为空

mysql - Vb.net更新datagrid View 问题

php - 使用 SQL 查询填充下拉列表,将值附加到数组的开头,然后回显所选内容

php - Magento 1.6 - 无法初始化索引器进程

php - 有没有办法清除所有 session 中的某些 session 数据?

javascript - FooTable 插件日期时间问题

mysql - 如何在普通SQL查询中只选择有记录值的ID?

php - 如何使用php计算父节点的所有子节点