我怎样才能获得mysql中的一列?

时间:2016-08-10 03:49:29

标签: php mysql

好吧,我是SQL的新手,我不知道我将如何做到这一点。我试过谷歌,但也许我不确定我是否在寻找正确的问题。所以这就是。我的数据库中有2个表。一个称为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

现在,我要做的是,计算events表中事件1,2和3的参与者数量,然后使用{{显示将要适当参加的用户数量1}}表使用php。

有人可以帮我解决这个问题吗?谢谢你!

3 个答案:

答案 0 :(得分:2)

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 |
+---------+----------+

答案 1 :(得分:1)

followng查询应该起作用。它将使用group by子句

基于事件选择参与者的数量
lst[ : j ]

答案 2 :(得分:1)

您可以应用加入和分组来实现此目标 -

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

希望这会对你有所帮助。