连接两个表并获取其中一个表的计数,但所有结果都匹配另一个表的ID



这听起来有点令人困惑,但实际上很容易。

在一个表中存储事件(如聚会)。

的例子:

tbody> <<tr>10
USERID EventName EVENTID
10CoolEvent0
MediocreEvent1

最简单的方法是使用相关子查询:

SELECT e.name, e.venueAdresse, e.userID, e.tblEventID, e.venueCity, e.startTimeAndDateUnixTicks, e.displayStartTime, e.slots, e.eventPictureThumb, 
(
SELECT COUNT(*) 
FROM `10561_12865_tblInvites` i
WHERE i.tblEventID = e.tblEventID AND (i.status = 'accepted' OR i.status = 'host')
) counter
FROM `10561_12865_tblEvents` e 
WHERE e.userID  = ? 
ORDER BY e.createdUnixInt DESC 
LIMIT ?

?占位符替换为您传递的参数

SET sql_mode = (SELECT REPLACE(@@sql_mode, 'ONLY_FULL_GROUP_BY', ")

);SELECT eventname, evententid, Status, count(Status)从event_table中查询eventname, evententid, status左连接ON e.v eventid = i.v eventid) AS tGROUP BY . eventid, . status

最新更新