Php 如何获取mysql中一列的总数?

Php 如何获取mysql中一列的总数?,php,mysql,Php,Mysql,好吧,我对SQL有点陌生,我不知道该怎么做。我试过谷歌,但可能我不确定我是否在搜索正确的问题。就是这样。我的数据库中有两个表。一个称为events,另一个称为eventtypes 我的eventtype表如下所示 ------------------- eventID | eventName| 1 | eveA | 2 | eveB | 3 | eveC | ___________________ 我的events表如下所

好吧,我对SQL有点陌生,我不知道该怎么做。我试过谷歌,但可能我不确定我是否在搜索正确的问题。就是这样。我的数据库中有两个表。一个称为
events
,另一个称为
eventtypes

我的
eventtype
表如下所示

-------------------
eventID | eventName|
   1    | eveA     |  
   2    | eveB     |  
   3    | eveC     |  
___________________
我的
events
表如下所示

--------------------------
eventCat |UserRegistered |
   1     | John          |  
   2     | Mac           |  
   3     | Assz          | 
   2     | Ez            |  
   3     | Pz            |  
_________________________
(我希望你能理解我的桌子……)

events.eventCat=eventtype.eventID

现在,我要做的是,计算
事件
表中事件1、2和3的参与者人数,然后使用php使用
事件类型
表显示将适当参与的用户人数


有人能帮我解决这个问题吗?非常感谢

下面的查询应该可以工作。它将使用group by子句根据事件选择参与者的数量

 SELECT count(UserRegistered),eventName
 From events,eventype
 WHERE events.eventCat=eventtype.eventID
 GROUP BY eventCat

下面的查询应该可以工作。它将使用group by子句根据事件选择参与者的数量

 SELECT count(UserRegistered),eventName
 From events,eventype
 WHERE events.eventCat=eventtype.eventID
 GROUP BY eventCat

您可以应用“加入”和“分组方式”来实现此目的-

SELECT count(UserRegistered),eventName from events join eventtype on
  events.eventCat=eventtype.eventID
     GROUP BY eventCat

希望这对您有所帮助。

您可以申请加入和分组方式来实现此目的-

SELECT count(UserRegistered),eventName from events join eventtype on
  events.eventCat=eventtype.eventID
     GROUP BY eventCat
create table eventtype
(   eventID int not null,
    eventName varchar(100) not null
);
insert eventtype(eventID,eventName) values
(1,'eveA'),
(2,'eveB'),
(3,'eveC');

create table events
(   eventCat int not null,
    UserRegistered varchar(100) not null
);
insert events(eventCat,UserRegistered) values
(1,'John'),
(2,'Mac'),
(3,'Assz'),
(2,'Ez'),  
(3,'Pz');
希望这对你有帮助

create table eventtype
(   eventID int not null,
    eventName varchar(100) not null
);
insert eventtype(eventID,eventName) values
(1,'eveA'),
(2,'eveB'),
(3,'eveC');

create table events
(   eventCat int not null,
    UserRegistered varchar(100) not null
);
insert events(eventCat,UserRegistered) values
(1,'John'),
(2,'Mac'),
(3,'Assz'),
(2,'Ez'),  
(3,'Pz');
查询:

select e.eventId,count(u.UserRegistered) as theCount 
from eventtype e 
join events u 
on u.eventCat=e.eventId 
group by e.eventId 
order by e.eventId; 
+---------+----------+
| eventId | theCount |
+---------+----------+
|       1 |        1 |
|       2 |        2 |
|       3 |        2 |
+---------+----------+
查询:

select e.eventId,count(u.UserRegistered) as theCount 
from eventtype e 
join events u 
on u.eventCat=e.eventId 
group by e.eventId 
order by e.eventId; 
+---------+----------+
| eventId | theCount |
+---------+----------+
|       1 |        1 |
|       2 |        2 |
|       3 |        2 |
+---------+----------+

您是指从eventtype where[condition]中选择计数(*)吗?您是指从eventtype where[condition]中选择计数(*)吗?感谢您花时间为我提供快速解决方案!嗯,我没有应用这个方法,但我可以得到它是如何做到的图片!再次感谢@Drew!感谢您花时间为我提供快速解决方案!嗯,我没有应用这个方法,但我可以得到它是如何做到的图片!再次感谢@Drew!非常感谢。这就成功了。我应该开始更加熟悉sql。再次感谢您的快速解决方案@afshanshujat谢谢!这就成功了。我应该开始更加熟悉sql。再次感谢您的快速解决方案@afshanshujat谢谢,@coder的快速回复!我试过你的方法,它也奏效了!谢谢一群人:)@topacoBoy,很高兴能帮上忙,虽然我先回答了。谢谢你,@coder的快速回复!我试过你的方法,它也奏效了!谢谢一帮人:)@topacoBoy,很乐意帮忙,尽管我先回答了