我有一个MySQL表,其中有两个不同的Timestamp列:createdlastSent。我想查询该表,只检索其lastSent时间戳比created早几周的记录。

╔════╦═════════╦══════════╗
║ ID ║ created ║ lastSent ║
╠════╬═════════╬══════════╣
║ 1  ║ Aug 18  ║ Aug 25   ║
╠════╬═════════╬══════════╣
║ 2  ║ Aug 11  ║ Aug 25   ║
╠════╬═════════╬══════════╣
║ 3  ║ Aug 19  ║ Aug 25   ║
╠════╬═════════╬══════════╣
║ 4  ║ Aug 20  ║ Aug 25   ║
╠════╬═════════╬══════════╣
║ 5  ║ Aug 3   ║ Aug 24   ║
╚════╩═════════╩══════════╝


例如,我要查找的查询将给我记录1、2和5,但没有给我3和4。

非常感谢!我希望我解释得足够好。

最佳答案

您也可以将问题写为:


  查找createdlastSent具有相同工作日的行。


那么答案将是显而易见的:

SELECT *
FROM mytable
WHERE WEEKDAY(created) = WEEKDAY(lastSent);

08-04 04:36