首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL :如何利用其趋势跟踪价值的变化?

MySQL :如何利用其趋势跟踪价值的变化?
EN

Stack Overflow用户
提问于 2017-01-06 16:12:03
回答 1查看 208关注 0票数 0

MYSQL :如何利用其趋势跟踪价值的变化,如果值下降,则趋势为-1,如果增加,则为1和0。

例如

代码语言:javascript
复制
id_indicator    value      Trend                
    1             0           0   
    1             1           1                                        
    1             5           1                               
    1             4           -1                                 
    2             1           0                      
    2             -8          -1                               
    2             0           1                                      

我怎样才能得到趋势专栏?是否可以在“选择”语句中添加包含趋势值的临时列?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-06 16:38:01

使用myslq变量跟踪前几行

代码语言:javascript
复制
SET @prev = 0;

SELECT 
    id_indicator, 
    value, 
    -- IF(value > @prev, 1, IF(value < @prev , -1, 0)) AS trend,
    SIGN(value-@prev) AS trend, -- nicer solution thx to @spencer7593
    @prev:=value FROM `the_table`

第四列的唯一目的是将当前值赋给@prev,以便在下一行迭代中使用它。

拥有当前和以前的值,您几乎可以使用它们编写任意表达式。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41509627

复制
相关文章

相似问题

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