如何在myqsl中的2个日期之间进行查询?

时间:2018-01-13 14:37:32

标签: mysql sql

我有以下查询,但无法正常工作。怎么了?没有线"和'日期' BETWEEN' 2018-01-01 20:21:28' AND' 2018-01-11 21:00:43'"工作得很好,但我想在日期之间进行此查询。 抱歉我的英文不好:)

UPDATE `players_extra` AS `e`
SET `e`.`hetimostfin` = (
    SELECT COUNT(`r`.`PlayerId`)
    FROM `records` AS `r` 
    WHERE `r`.`PlayerId` = e.`playerID` AND
          'Date' BETWEEN '2018-01-01 20:21:28' AND '2018-01-11 21:00:43'
);

2 个答案:

答案 0 :(得分:2)

SwitchToThread()周围有单引号,导致MySQL将字段视为字符串文字。但我会将其称为更新连接:

'DATE'

加入子查询应该优于当前使用相关子查询的方法。

答案 1 :(得分:1)

'Date'周围有单引号,因此将其视为字符串。

删除单引号或使用反引号:

    AND `Date` BETWEEN '2018-01-01 20:21:28' AND '2018-01-11 21:00:43'