求 帮改sql

f1696014041 2019-05-08 11:58:10
SELECT data_id ,t.host_id , DATE_FORMAT( t.collection_time, '%Y-%m-%d %H:00:00') collection_time , s0, s1
, AVG(s2) s2 , AVG(s3) s3 , AVG(s4) s4
, AVG(s5) s5 , SUM(s6) s6 , AVG(s7) s7 , AVG(s8) s8 , AVG(s9) s9
, AVG(sa) sa , AVG(sb) sb , AVG(sc) sc , AVG(sd) sd , AVG(se) se
, AVG(sf) sf , AVG(s10) s10 , AVG(s11) s11 , AVG(s12) s12 , AVG(s13) s13
, AVG(s14) s14 , AVG(s15) s15 , AVG(s16) s16 , AVG(s17) s17 , AVG(s18) s18
, AVG(s19) s19 , AVG(s20) s20 , AVG(s21) s21 , AVG(s22) s22 , AVG(s23) s23 , AVG(s24) s24
, AVG(s25) s25 , AVG(s26) s26 , AVG(s27) s27 , AVG(s28) s28
, h.host_name
FROM t_so_alldata t



我对 s2 - s28 , 对每一个都求平均和保留2位小数, 每一个结果都要进行这样的处理
truncate(AVG(s2),2) s2
感觉这样很麻烦.

AVG(s2) s2 , AVG(s3) s3 , AVG(s4) s4
, AVG(s5) s5 , SUM(s6) s6 , AVG(s7) s7 , AVG(s8) s8 , AVG(s9) s9
, AVG(sa) sa , AVG(sb) sb , AVG(sc) sc , AVG(sd) sd , AVG(se) se
, AVG(sf) sf , AVG(s10) s10 , AVG(s11) s11 , AVG(s12) s12 , AVG(s13) s13
, AVG(s14) s14 , AVG(s15) s15 , AVG(s16) s16 , AVG(s17) s17 , AVG(s18) s18
, AVG(s19) s19 , AVG(s20) s20 , AVG(s21) s21 , AVG(s22) s22 , AVG(s23) s23 , AVG(s24) s24
, AVG(s25) s25 , AVG(s26) s26 , AVG(s27) s27 , AVG(s28) s28

这一部分的代码, , 能不能简单一点写.
...全文
12 点赞 收藏 2
写回复
2 条回复
十八道胡同 2019年05月08日
或者从代码层面 做保留2位小数
回复 点赞
a8509190 2019年05月08日
你这SQL 没啥好改的,只能从业务层面去进行优化了。
回复 点赞
发动态
发帖子
Web 开发
创建于2007-09-28

5.2w+

社区成员

34.1w+

社区内容

Java Web 开发
社区公告
暂无公告