Mysql使用sum函数时的注意事项

MySQL的SUM函数是用来找出记录中各种的字段的总和。

要了解SUM函数考虑EMPLOYEE_TBL表具有以下记录:


mysql> SELECT * FROM employee_tbl;
+——+——+————+——————–+
| id | name | work_date | daily_typing_pages |
+——+——+————+——————–+
| 1 | John | 2007-01-24 | 250 |
| 2 | Ram | 2007-05-27 | 220 |
| 3 | Jack | 2007-05-06 | 170 |
| 3 | Jack | 2007-04-06 | 100 |
| 4 | Jill | 2007-04-06 | 220 |
| 5 | Zara | 2007-06-06 | 300 |
| 5 | Zara | 2007-02-06 | 350 |
+——+——+————+——————–+
7 rows in set (0.00 sec)


现在,假设根据上面的表想来计算所有的dialy_typing_pages的总数,那么可以通过使用下面的命令:


mysql> SELECT SUM(daily_typing_pages)
-> FROM employee_tbl;
+————————-+
| SUM(daily_typing_pages) |
+————————-+
| 1610 |
+————————-+
1 row in set (0.00 sec)


可以使用GROUP BY子句设置的各种记录的总和。下面的例子将总结所有相关的记录一个人,打印纸的每一个人总数。


mysql> SELECT name, SUM(daily_typing_pages)
-> FROM employee_tbl GROUP BY name;
+——+————————-+
| name | SUM(daily_typing_pages) |
+——+————————-+
| Jack | 270 |
| Jill | 220 |
| John | 250 |
| Ram | 220 |
| Zara | 650 |
+——+————————-+
5 rows in set (0.17 sec)

获取SUM函数的返回值是BigDecimal类型

private long playCount(String advertise_id) {
    String sql = "select sum(play_count) from advertising_play_info where advertising_id = ?";
    Query query = getCurrentSession().createSQLQuery(sql);
    query.setString(0, advertise_id);
    BigDecimal bigDecimal = (BigDecimal) query.list().get(0);
    long playCount = bigDecimal.longValue();
    return playCount;
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值