首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较db中的行并选择如果值大于15%

比较db中的行并选择如果值大于15%
EN

Stack Overflow用户
提问于 2016-06-10 17:20:57
回答 1查看 178关注 0票数 0

当日期相同时,我试图选择更改大于15%的行。下面是我想比较的db数据的一个例子。

代码语言:javascript
复制
id      coin        high24hr    low24hr     date
397     BTC_1CR     0.00030000  0.00030000  2016-06-10 08:39:26
525     BTC_LSK     0.00078898  0.00078898  2016-06-10 08:39:26
529     BTC_1CR     0.00030000  0.00030000  2016-06-10 08:48:05
657     BTC_LSK     0.00078884  0.00078884  2016-06-10 08:48:05 

因此,我想选择任何行,其中有两次2016-06-10 08:39:26和2016-06-10 08:48:05。如果两个硬币列的值是相同的。比较high24hr列的值。如果差值大于15%,则返回差额。如果没有返回0。然后比较low24hr列的值。如果差值大于15%,则返回差。如果没有返回0。

输出应该如下所示。如果变化大于15%,则显示百分比变化。

代码语言:javascript
复制
coin        high    low
BTC_1CR     20%     25%
BTC_LSK     30%     0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-10 19:11:03

SQL使用set操作,因此通常不会考虑比较两个连续行;但是,您可以使用类似的查询:

代码语言:javascript
复制
declare @percent  float
set @percent = 0.0000000000000000015;

select distinct t.coin,t.date,
    (t1.high24hr-t.high24hr)/100.0 as high, 
    (t2.low24hr-t.low24hr)/100.0 as low 
    from YourTable t
    left join YourTable t1 on 
        t.coin=t1.coin and t.date>t1.date and (t1.high24hr-t.high24hr)/100.0>@percent
    left join YourTable t2 on 
        t.coin=t2.coin and t.date>t2.date and (t2.low24hr-t.low24hr)/100.0>@percent
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37753937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档