[英]MySQL - How to get the difference of all the rows in a column within a specific “id”?
[英]Get all rows with specific time difference
你好,我有一个这样的表:
|user_name|pw|register_date|last_time_entered
我想获取last_seen_date-register_date <7的所有行
我不知道如何写这个查询,我想到了这样的事情
SELECT * FROM workoutlog_1.personal
WHERE DATEDIFF(day, workoutlog_1.personal.register_date, workoutlog_1.personal.last_time_entered) < 7;
但是我得到这个错误:
Error Code: 1582. Incorrect parameter count in the call to native function 'DATEDIFF'
感谢您的帮助。
您的错误代码似乎来自mysql。
使用mysql, datediff仅需要2个参数(不需要day
)
我认为在(确实)旧版本中,它使用了3个参数,现在仅对2个有效,并且将返回几天。
如果您必须与另一个单位(例如小时)一起工作,则可以使用TIMESTAMPDIFF
MySql的DATEDIFF与SqlServers DATEDIFF的不同之处在于,它仅接受2个日期参数,并以天为单位返回差值。 既然您仍然想要几天,则只需删除day
参数,即
SELECT * FROM workoutlog_1.personal
WHERE DATEDIFF(workoutlog_1.personal.register_date,
workoutlog_1.personal.last_time_entered) < 7;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.