繁体   English   中英

如何在 sql 的组语句中显示小数位

[英]How to display decimal places in group statetement in sql

SELECT DISTINCT date,

       type,

       id,

       process,

       PERCENTILE_DISC(0.90) within group(ORDER BY duration/60000) OVER (PARTITION BY date,type,id,process) AS top90

FROM table

它像跟随一样返回。

date       id    type  process top90
2021-05-19  a      X    A       6
2021-05-19  b      Y            
2021-05-19  c      Z    A       7

但我想要的结果就像下面显示最多 2 个小数位。

date       id    type  process top90
2021-05-19  a      X    A       6.36
2021-05-19  b      Y            
2021-05-19  c      Z    A       7.42

我试过cast(duration/60000,real)但它返回了相同的结果..

如果有人有意见,请告诉我。

谢谢

  1. 如果durationintegerbigint ,则duration / 60000将是 integer 除法并截断结果。

    使用duration / 60000.0来避免这种情况。

  2. percentile_disc将返回最接近指定百分位数的现有值。 使用percentile_cont进行插值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM