好吧,我是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。
有人可以帮我解决这个问题吗?谢谢你!
答案 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
希望这会对你有所帮助。