摘要:问题在一次的数据查询的时候,反馈说列表中某些指标数据出现了几十位的小数。于是从接口入手开始跟数据,一直跟到数据源,发现几十位的小数点一直都在。发现产生的数据就带有几十位的小数点,详见图例。多带带执行子查询数据是正常的。
问题
在一次clickhouse的数据查询的时候,QA反馈说列表中某些指标数据出现了几十位的小数。开始以为是DataFormat时候bug 导致的。于是从接口入手开始跟数据,一直跟到数据源,发现几十位的小数点一直都在。最后打印了执行sql在DataGrip中执行。 发现sql产生的数据就带有几十位的小数点,详见图例。之前在clickhouse聚合查询的时候会出现小数后面数字浮动的情况,但 这种明显又是另一类的问题。解决
于是开始分析这个几千行的sql,精简后其实主要是两个表的多带带分组聚合然后再进行关联。多带带执行子查询数据是正常的。 经过反复尝试后,**发现是 子查询 子查询 子查询 中使用了 select * 导致的,将这里换成具体查询的字段数据就正常了**。 这里使用*是因为报表是需要根据用户所选择的字段动态展示。SQL
SELECT * FROM ( SELECT fieldsa, fieldsb, fields1c FROM table1 WHERE condition1 ORDER BY fields1c DESC ) ANY LEFT JOIN ( SELECT * //将这里换成具体要查询的字段就可以了 FROM ( SELECT fieldsa, fieldsb, round(sum(fields2c) / 1, 2) AS fields2c, round(sum(fields2d) / 1, 2) AS fields2d FROM table2 WHERE condition2 GROUP BY fieldsa,fieldsb ) ALL FULL JOIN ( SELECT fieldsa, fieldsb, round(sum(fields3c) / 1, 2) AS fields3c, round(sum(fields3d) / 1, 2) AS fields3d FROM table3 WHERE condition3 GROUP BY fieldsa,fieldsb ) USING fieldsa,fieldsb WHERE condition4 ) USING fieldsa,fieldsb图例
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/38906.html
摘要:问题在一次的数据查询的时候,反馈说列表中某些指标数据出现了几十位的小数。于是从接口入手开始跟数据,一直跟到数据源,发现几十位的小数点一直都在。发现产生的数据就带有几十位的小数点,详见图例。单独执行子查询数据是正常的。 问题 在一次clickhouse的数据查询的时候,QA反馈说列表中某些指标数据出现了几十位的小数。开始以为是DataFormat时候bug 导致的。于是从接口入手开始跟数...
摘要:利用快速构建系统。构建系统和的安装本文不再赘述,直接开始动手构建系统。分别为和,用于读写组,用于只读组。最后配置的监控服务可选,非必须至此,一个全部基于开源应用的简易系统就构建好了。利用ProxySQL、MySQL、ClickHouse快速构建HTAP系统。1. 关于ClickHouse企业里随着数据量的增加,以及日趋复杂的分析性业务需求,主要适用于OLTP场景的MySQL压力越来越大。多年...
摘要:要确保没有低估需要存储的值的范围,更小是相对与数据类型的最大值范围来讲的。如果无法确定哪个数据类型是最好的,就选择你认为不会超过范围的最小类型。整数类型有两个类型的数字整数和实数。列默认为,这与其他的数据类型不一样。 简述 良好的逻辑设计和物理设计是高性能系统的基石,比如反范式设计可以加快某些类型的查询同时也会影响另外一些类型的查询效率,所以我们必须重视Mysql对于数据库的设计(本...
摘要:要确保没有低估需要存储的值的范围,更小是相对与数据类型的最大值范围来讲的。如果无法确定哪个数据类型是最好的,就选择你认为不会超过范围的最小类型。整数类型有两个类型的数字整数和实数。列默认为,这与其他的数据类型不一样。 简述 良好的逻辑设计和物理设计是高性能系统的基石,比如反范式设计可以加快某些类型的查询同时也会影响另外一些类型的查询效率,所以我们必须重视Mysql对于数据库的设计(本...
摘要:要确保没有低估需要存储的值的范围,更小是相对与数据类型的最大值范围来讲的。如果无法确定哪个数据类型是最好的,就选择你认为不会超过范围的最小类型。整数类型有两个类型的数字整数和实数。列默认为,这与其他的数据类型不一样。 简述 良好的逻辑设计和物理设计是高性能系统的基石,比如反范式设计可以加快某些类型的查询同时也会影响另外一些类型的查询效率,所以我们必须重视Mysql对于数据库的设计(本...
阅读 2261·2021-09-22 16:05
阅读 2619·2021-09-10 11:24
阅读 3437·2019-08-30 12:47
阅读 2819·2019-08-29 15:42
阅读 3202·2019-08-29 15:32
阅读 506·2019-08-27 14:19
阅读 1146·2019-08-27 11:05
阅读 1805·2019-08-26 11:48