统计与会者MYSQL/PHP


Count attendees MYSQL/PHP

级别
我是的初学者

我有两张桌子:

事件
每个事件具有唯一事件ID的所有事件的详细信息。

用户
列出每位与会者的详细信息,列eventname1和eventname2包含他们注册的活动的eventid。(注意:特定的事件id可以出现在eventname()列中,例如,事件id 66可以出现在一个用户的eventname1中,而另一个用户则出现在eventname2中)

我想做什么
我想回显一个包含我所有事件详细信息的表,并在每个事件中包含一列(#Attendees),列出为该事件注册的用户数量。

到目前为止我有什么

   SELECT COUNT( * ) 
    FROM  `users` 
    WHERE  `eventname1` = ( 
    SELECT  `id` 
    FROM  `events` 
    WHERE id =e.g.23 )

我一直在尝试将其与联接结合使用,但我没有取得任何进展。如有任何建议,我们将不胜感激。

谢谢。

创建3个表并分别存储它们,您可以轻松计数

events
event_id, event_name, event_desc, etc_column
users
user_id, username, etc_colun
attendess_table
attendd_id, user_id, event_id, 
select e.event_name, u.username
from attendess_table at
INNER JOIN users u ON u.user_id = at.user_id
INNER JOIN events e ON e.event_id = at.event_id
where u.user_id = 2

用于计数

select count(user_id) from attendess_table where user_id = 2

尝试这个

SELECT u.id,u.name,e.name, count(*)   
FROM   users u
left   outer join events e
on     u.id=e.id
group by u.id,u.name,e.name