我的数据库实际上并不是客户和订单,而是客户的验光处方(以防有人想知道为什么我希望我的客户不频繁下订单!)
我有一个眼镜连锁店的数据库,处方表中有分店ID号码、患者ID号码和他们进行眼部检查的日期。随着时间的推移,患者将在数据库中列出多次眼部检查。如何获取在六个月内在系统中输入过一次以上处方的患者列表。换句话说,其中一个处方的日期与同一患者之前的处方日期相差三个月或更短。
示例数据:
Branch Patient DateOfTest
1 1 2007-08-12
1 1 2008-08-30
1 1 2008-08-31
1 2 2006-04-15
1 2 2007-04-12
我不需要在结果集中知道实际日期,也不必恰好为三个月,只需列出有处方与上一个处方太接近的患者列表。在给定的样本数据中,我希望查询返回:
Branch Patient
1 1
这种查询不会经常运行,因此效率并不是我过于关心的问题。在我们的实时数据库中,处方表中有25万条记录。