SQL查询使用相同的表比较两个WHERE子句

时间:2017-05-23 11:22:49

标签: mysql sql mysqli phpmyadmin

我希望比较存储在同一个表中的两组数据。我很抱歉,如果这是一个重复的SO帖子,我已经阅读了一些其他帖子,但未能实现它来解决我的问题。

我正在运行一个查询,以显示所有参赛者和最近一次的日期(2017-05-20):

Get-Date -Format "H\:m\:s"
13:13:18

我想比较一下每个运动员在5月20日所达到的时间与之前的时间。

    SELECT  `eventID`,
    `location`,<BR>
    `date`,
    `barcode`,
    `runner`,
    `Gender`,
    `time` FROM `TableName` WHERE `date`='2017-05-20'

如何构建显示所有SELECT `time` FROM `TableName` WHERE `date`='2017-05-13'

的查询

我尝试了一些方法,比如UNION ALL,例如

非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以使用相关子查询获取上一次:

# label (Intercept)         x1         x2
# 1:     a   1.0189543 -1.3744124 -1.8500784
# 2:     b  -1.7325901  0.6330311  0.7848932
# 3:     c   0.3497773 -0.9138042  0.7833840
# > models[["resp2"]]
# label (Intercept)         x1        x2
# 1:     a -0.89177938  1.1053718 0.8886103
# 2:     b -0.45480510 -0.5146982 1.5587663
# 3:     c -0.04379456 -0.9792022 0.8691384

为了提高性能,您需要SELECT t.*, (SELECT t2.time FROM TableName t2 WHERE t2.runner = t.runner AND t2.eventId = t.eventId AND t2.date < t.date ORDER BY t2.date DESC LIMIT 1 ) prev_time FROM `TableName` t WHERE t.date = '2017-05-20'; 上的索引。