Mysql 查询以查找15分钟内发生的金额不同的交易
我有这样一个场景,我需要在我的交易明细表中找出15分钟内发生的交易以及不同金额的交易。 例如,事务T1第一条记录发生在6.50,而T2第一条记录发生在6.55,这两条记录都应该出现,因为金额不同 第二种情况是,如果两个交易都不是在15分钟内发生的,或者如果它们发生在15分钟内但金额相同,则排除该记录 以下是记录样本和预期结果:Mysql 查询以查找15分钟内发生的金额不同的交易,mysql,sql-server,Mysql,Sql Server,我有这样一个场景,我需要在我的交易明细表中找出15分钟内发生的交易以及不同金额的交易。 例如,事务T1第一条记录发生在6.50,而T2第一条记录发生在6.55,这两条记录都应该出现,因为金额不同 第二种情况是,如果两个交易都不是在15分钟内发生的,或者如果它们发生在15分钟内但金额相同,则排除该记录 以下是记录样本和预期结果: transid transdate TransAmount T1 11/7/2016 6:50
transid transdate TransAmount
T1 11/7/2016 6:50 400
T2 11/7/2016 6:55 450
T3 11/7/2016 7:15 300
T4 11/7/2016 7:31 300
T5 11/7/2016 7:50 500
T6 11/7/2016 7:55 600
预期结果:在15分钟内记录,并记录不同的数量
transid transdate TransAmount
T1 11/7/2016 6:50 400
T2 11/7/2016 6:55 450
T5 11/7/2016 7:50 500
T6 11/7/2016 7:55 600
非常感谢您的帮助。这是针对MS SQL SERVER的,我以秒为单位计算了时差,例如15*60秒=60分钟 对于每个记录,使用exists查找是否存在符合条件的记录
SELECT T1.* FROM transactions T1 WHERE
EXISTS (
SELECT 0 FROM transactions T2
WHERE
ABS(DATEDIFF(second, T1.Transdate,T2.Transdate)) <= 15 *60
AND
T1.transAmount <> T2.Transamount
)
您正在使用哪些数据库管理系统。mysql sql server。也请问一个问题,因为你的帖子只描述了你的需求,但没有问一个问题。展示一下你自己的努力也会有所帮助