我看了这里Calculate the time difference between of two rows。两个非连续行之间的时间? (MySQL)
我在这里修改了代码:
SELECT A.Test_ID, B.TestDate - A.TestDate AS DaysBetweenTests FROM Exams A JOIN Exams B ON B.Test_ID = A.Test_ID WHERE (SELECT B.Test_ID FROM B.Exams ORDER BY Animal_ID, B.TestDate LIMIT 1 OFFSET 1)
这个查询是不完整的。我试图计算TestDate与下一个TestDate之间的天数,对于相同的Animal_ID
。这里的问题在于,Test_ID
与TestDate不是直接相连的Animal_ID
。我不能使用Test_ID +1
。
样品考试表:
Test_ID | TestDate | Animal_ID
1 2013-01-01 100
2 2007-06-18 162
3 2013-02-01 100
4 2013-04-16 100
的TestDate单个Animal_ID
总是为了增加,从而更高的Test_ID number
。
我遇到了子查询问题。
考虑提供适当的DDL(和/或sqlfiddle)与期望的结果集合在一起。请注意,日期应该使用DATE数据类型进行存储。 – Strawberry
它存储在DATE类型中。它采用yyyy-mm-dd格式,我只是以mm/dd/yy格式输入它们,以便于阅读。 – Hask15
...如果您碰巧从附图中相对较小的部分发出冰雹...... http://en.wikipedia.org/wiki/Date_format_by_country – Strawberry