我正在尝试进行一项分析,以分析基于价格点的转化变化。为此,我正在尝试根据最后两位数字对价格进行分类。我将如何根据where子句的最后两位进行过滤?我要过滤以.99,(。25,50,.75,),。%0等结尾的价格
答案 0 :(得分:4)
通常要使用“最后一位”进行过滤,将使用模运算符%
,即除法运算的余数。
对于整数,其含义很清楚:123 % 100 = 23
,123 % 10 = 3
。对于任何x是整数x % 1 = 0
(因为任何整数都可以被1整除)
在Redshift中,它似乎也适用于小数:
select 123.99 % 1 as cents;
分
0.99
因此,select price from table where price % 1 = 0.99
应该向您返回所有以.99
结尾的价格,我们可以轻松地对其进行验证:
with prices as (
select 9.99 as price union
select 9.43 union
select 0.99 union
select 2
)
select *
from prices
where price % 1 = 0.99;
收益
price
9.99
0.99