【发布时间】:2014-11-03 23:12:31
【问题描述】:
我有一张名为route_timetables 的表,其中包含公交路线的时间表。
每一行包含一个时间表,用于一个方向(即北、南、东和西)和一种类型的日期(即工作日、周六和周日)。
我需要获取每条路线的最新时间表。所以在路由 id=X 和路由 publish_date 已经过去的地方,我需要获取方向和类型不同的最新时间表。它可能会返回 6 行,其中一行在工作日、周六和周日表示 West,在工作日、周六和周日返回一行。
表格字段如下所示
id route_id timetable publish_date direction type
我尝试了几种不同的方法。我认为这段代码可以正常工作,但它正在查询一个旧时间表,该时间表也适用于工作日,向西行驶。
SELECT timetable, direction, type, MAX(publish_date)
FROM route_timetables
WHERE publish_date<=curDate() and route_id=2
GROUP BY direction, type
【问题讨论】:
-
你说
the table looks like this,但不包括表格。 -
有一点值得怀疑的是,您的分组声明中没有包含时间表。在其他 SQL 变体中,这会失败,但我相信 mysql 更宽容 - 虽然看起来仍然是错误的。
-
对不起,我忘了包括表结构
-
什么是时间表列类型?