查四种不同status的统计数量 以及 MYSQL中count函数的默认返回值问题

 遇到一个问题。在一个表中查四种不同status的记录数。
一开始想法是发四条SQL?或者做四个临时表?仔细想想这样不对,效率低下。
改用group by status,问题在于页面需要的是四个状态的统计值,只查count(id)等于只知道了value不知道对应key。
所以查status以及status的统计值。返回一个List<Map<String,object>>,遍历后用key在代码中判断该key是否等于指定状态,若等于,则该value就是是该status的统计值。

新手一只,一开始会有这个纠结原因还是自己对应代码和sql查询的应用不够灵活。吸取经验。

 
ps:要注意的是count(id)默认返回的是Long类型,用Integer类型接收的时候如果强转会报错。
需要转string再转Integer:    Integer.valueOf(9999L.toString());
mybatis写映射返回值int能接收,是因为做了默认的类型转换。 
发布了25 篇原创文章 · 获赞 4 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_41570691/article/details/80884403
今日推荐