2019年8月6日17:28:07
sql 不知道怎么写,也没去查,因为需求可能中途需要修改值,有点麻烦
直接用jdbc实现。
查询出来的值,直接根据update条件更新,写在一个方法里
public static void GetWeiLiaoMsg(String day) {
try {
conn = MysqlJdbc_sys_master.getConnection();
String sql = "select a.city,a.n1,b.n2,c.n3 from (select city,sum(msg_count)as n1 from weiliao_msg WHERE push_time like '"+day+"%' group by city )a left join(select city,count(passenger_phone)as n2 from weiliao_yuyue WHERE push_time like '"+day+"%' group by city )b on a.city = b.city left join (select city,count(phone)as n3 from weiliao_phone WHERE push_time like '"+day+"%' group by city)c on a.city = c.city";
stmt = conn.prepareStatement(sql);
rs = stmt.executeQuery();
conn.setAutoCommit(false);
String sql_update = "update danke_FpResult set msg = ?,liudian=?,yuyue=? where city = ? and tag = 'allpush' and day = '"+day.replace("-", "")+"'";
stmt = conn.prepareStatement(sql_update);
while(rs.next()){
stmt.setInt(1, rs.getInt(2));
stmt.setInt(2, rs.getInt(3));
stmt.setInt(3, rs.getInt(4));
stmt.setString(4, rs.getString(1));
stmt.addBatch();
}
stmt.executeBatch();
conn.commit();
System.out.println(new Date()+" insert into danke_FpResult all msg over!!");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
stmt.close();
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}