当表中字段值中名字相同,取该表中所有名字相同的值,其名字不变,数量进行相加. 比如.一张表:如下 id name count 0 张三 20
1 张三 10
2 李四 6
3 张三 5
4 李四 39
4 张三 15
怎么样让姓名为张三的值进行相加然后显示一条数据
而且李四也是的.并且放入list集合中.这个用java写也行,用数据库写出来也行,分不是问题.
1 张三 10
2 李四 6
3 张三 5
4 李四 39
4 张三 15
怎么样让姓名为张三的值进行相加然后显示一条数据
而且李四也是的.并且放入list集合中.这个用java写也行,用数据库写出来也行,分不是问题.
如果是查询的话可以用
select t.name sum(t.count) as countSum from table t group by t.name(最好加上标识,不然count容易跟关键字冲突)
如果是要在插入时做处理,可以考虑下用触发器。
基本上就是这样的,但是name与sum 之间是不是该加个逗号啊select id ,name, sum(count) from tableName GROUP by name;
StringBuilder sql = new StringBuilder("select id ,name, sum(count) from tableName GROUP by name");
final String query = sql.toString();
HibernateCallback callback = new HibernateCallback() {
public Object doInHibernate(Session session) throws HibernateException {
return session.createSQLQuery(query).list();
}
};
return (List) getHibernateTemplate().execute(callback);
}可与试下