查询显示具有最高计数的所有事件(内部联接,子查询)

时间:2018-12-12 16:38:01

标签: mysql

这是其中包含数据的表。我面临的问题是 我想显示所有具有最高投票数的事件。

Event (id (PK), 
name, 
description, 
position_lat, 
position_lon, 
poll_close 
)

Event_date(
id (PK), 
Event_id (FK), 
Date
)

Vote (
Event_date_id (FK), 
user_id (FK)
)

查询:

SELECT ( 
SELECT COUNT(event_date_id) 
FROM vote 
WHERE vote.event_date_id = event_date.id) as votes, 
event.id,event.name, event.description, event.position_lat, event.position_lon, 
event.public_event, event_date.date 
FROM `event` 
INNER JOIN event_date ON event.id = event_date.event_id

执行查询时,我得到:

votes , id,  name , description .. Etc

3, 2 , Test Event, .. Etc

**1, 2 , Test Event, .. Etc**

0, 3, test2 Event, .. Etc 

你们看到我得到了同一个ID为2的事件,这是两次,因为它有两个请求的日期,该事件可以进行。 我想这样一次显示所有事件,其投票日期最多,而不是中间带有强文本标记的事件。

0 个答案:

没有答案