mysql spid,在MySQL查询中确定“有效截止日期”

在此表中,我存储了某些SPID的可更改值。

随着时间的推移,这些值可以更改,SPID可以获得新的值。

现在我想知道,直到某个值被启用。

这是单个SPID的数据

uid spid propertyvalue creationdate

--------------------------------------------------

1 3 First name 2010-01-17 22:34:00

37 3 Second name 2010-01-18 01:07:24

38 3 Third name 2010-01-18 01:09:00

39 3 Fourth name 2010-01-18 01:18:16

40 3 Fifth name 2010-01-18 01:20:02

所以第一个值开始于

2010年1月18日01:07:24

有效期至

2010年1月18日01:01:00

.

我已经尝试过这个查询:

SELECT s1 . * ,

s2.creationdate AS datetwo

FROM salespointproperty s1

JOIN salespointproperty s2 ON s1.spid = s2.spid

AND s1.creationdate < s2.creationdate

这给了我很多双重记录(其中一些是错误的),而且总是漏掉最后一个新名字(因为后面没有新的创造物)

例子:

uid spid propertyvalue creationdate datetwo

--------------------------------------------------------------

1 3 First name 2010-01-17 22:34:00 2010-01-18 01:07:24 *

1 3 First name 2010-01-17 22:34:00 2010-01-18 01:09:00

37 3 Second name 2010-01-18 01:07:24 2010-01-18 01:09:00 *

1 3 First name 2010-01-17 22:34:00 2010-01-18 01:18:16

37 3 Second name 2010-01-18 01:07:24 2010-01-18 01:18:16

38 3 Third name 2010-01-18 01:09:00 2010-01-18 01:18:16 *

1 3 First name 2010-01-17 22:34:00 2010-01-18 01:20:02

37 3 Second name 2010-01-18 01:07:24 2010-01-18 01:20:02

38 3 Third name 2010-01-18 01:09:00 2010-01-18 01:20:02

39 3 Fourth name 2010-01-18 01:18:16 2010-01-18 01:20:02 *

只有带有星号的线条才是正确的。第五个名字不见了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值