我正在学习MySql(一般来说是SQL),我有一个问题。我运行了一个过程,用72条记录填充表。这样做了,但是,我需要再次运行该过程,这一次它再次为表中的每个用户填充了第二条记录,现在总共有144条记录。如何隔离今天创建的最新记录?
答案 0 :(得分:0)
您只需要使用createdTS
列(假设您知道两次运行的时间戳是什么)即可。
SELECT * FROM `my_table` WHERE `createdTS` > '2019-07-25 15:00:00'
您还可以RANK()
结束并仅获取每个用户的最新运行情况(类似this)
答案 1 :(得分:0)
一个简单的解决方案是使用current_date来计算今天的日期,并使用date()来删除列的时间部分。然后:
where current_date = date(createdTS)
这对于像您这样的小型数据集来说很好。作为一般解决方案,您需要一个不需要处理每一行的查询,例如
where createdTS >= current_date and createdTS < current_date + interval 1 day