oracle转mysql过程中的sum over处理

编程入门 行业动态 更新时间:2024-10-08 00:30:51

oracle转mysql<a href=https://www.elefans.com/category/jswz/34/1771158.html style=过程中的sum over处理"/>

oracle转mysql过程中的sum over处理

项目需要,原来的系统很多的统计分析,被要求把数据库从oracle转为mysql,这是很坑的,mysql的统计分析比较弱,很多oracle有的函数,mysql没有,需要想方设法改造或者编写函数实现。

在修改的过程中,很多小的问题点都解决了,就剩下一个sum over的实现。sum over用来做统计总数很好用,省得再写一遍或者嵌套一层。

由于代码中的很多求总和的字段输出的行数不多,最后考虑直接用java的反射机制来简单实现oracle中sum over统计。代码没考虑太多通用性,只是根据自己的需求编写的,实现如下:

package xx.xx.xx.utils;import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;import org.apache.log4j.Logger;import xx.xx.xx.stat.vmodel.FlowSortData;public class O2mUtils {private static final Logger logger = Logger.getLogger(Thread.currentThread().getStackTrace()[1].getClassName());private static String format = "%.0f";/*** 设置保留2位小数,每次使用前调用,用完恢复*/public static void setFormat() {format = "%.2f";}private static void resetFormat() {format = "%.0f";}/*** 获取get方法、set方法* @param o 获取的类对象* @param fieldFrom get字段名* @param FieldTo set字段名* @return*/private static Method[] getMethod(Object o, String ...strings) {int length = strings.length;Method[] methods = new Method[length];try {Class<?> clazz = o.getClass();Field fields[] = clazz.getDeclaredFields();for(Field f : fields) {if(f.getName().equals(strings[0])) {S

更多推荐

oracle转mysql过程中的sum over处理

本文发布于:2024-03-23 19:24:47,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1741882.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:过程中   oracle   mysql   sum

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!