我的目的是要看看什么是最快的圈速为特定的比赛,这将是通过使用比赛名称和比赛日期确定。
SELECT lapName AS Name, lapDate AS Date, T
FROM Lap
INNER JOIN Race ON Lap.lapName = Race.Name
AND Lap.lapDate = Race.Date
GROUP BY Date;
它目前只显示3个不同的种族名称,4个不同的日期,这意味着我总共有4个组合,而事实上有9个独特的种族名称,种族日期组合。
唯一的竞赛数据存储在竞赛表中。laptimes存储在lapinfo表中。
我也得到了一个关于我的组声明的警告,说它是含糊不清的,尽管它仍然运行。
2条答案
按热度按时间zbdgwd5y1#
你好像不需要
join
为此:如果你不需要
JOIN
,在查询中输入一个是多余的。mbzjlibv2#
首先,您的查询实际上是无效的sql。你需要使用
MIN
函数以获得最快的速度lapTime
. 而且,你必须GROUP BY lapRaceName, raceDate
而不仅仅是lapRaceName
. 不幸的是,在这种情况下,mysql足够宽松,可以毫无错误地执行它。另外,你也加入
LapInfo
与Race
,并从LapInfo
你的别名可以在Race
. 从sql的Angular 来看,这是可以的,但这通常也很复杂:直接从Race
表,因为它们有您要查找的名称。最后,最好指出每列属于哪个表。这里,列队
lapTime
属于表LapInfo
,所以让我们把它说清楚。查询: