Mysql 如何在每个内部联接表中只获得一个结果

Mysql 如何在每个内部联接表中只获得一个结果,mysql,inner-join,Mysql,Inner Join,我有以下数据库结构: 摆桌子 地点有事件表 事件表 如何获得每个地方最近(最快)的活动。所以我需要所有地方的第一件事。我想在一次查询中得到这个信息。你能试试吗 SELECT t1.* from tbl_name AS t1 where t1.startdate=( select max(t2.startdate) from tbl_name as t2 ) 您希望选择min(start)以获取最低日期(这假设过去的事件已被删除,或者您可以使用where子句来筛选过去的事件),并按位

我有以下数据库结构:

摆桌子

地点有事件表

事件表

如何获得每个地方最近(最快)的活动。所以我需要所有地方的第一件事。我想在一次查询中得到这个信息。

你能试试吗

SELECT t1.* from tbl_name AS t1 
where t1.startdate=(
  select max(t2.startdate) from tbl_name as t2
)

您希望
选择min(start)
以获取最低日期(这假设过去的事件已被删除,或者您可以使用
where
子句来筛选过去的事件),并
按位置分组

这将返回具有每个位置的最低日期的事件

有些语法可能不正确,因为我的经验是使用sql server而不是mysql

Select Event.name, min(Event.start) 
From Event Inner Join Place_has_Event On event.ID = Place_has_Event.Event_ID
Where Event.start > getdate() 
Group By Place_has_Event.Place_ID

根据需要添加select条目。

您可以与我们共享您已写入的SQL查询表列名吗?这不起作用。它只返回一条记录(具有最大日期),而不是每个位置具有最大日期的事件。