MySQL的sum()函数
如下图,这是一个关于用户参加活动,每个活动会给这位用户评分的一个表:

用户1参加了A活动,评分100;
用户2参加了B活动,评分98,又参加了D活动,评分10;
用户3参加了C活动,评分99
需求:把以上四条数据按照每个用户的 总分 降序排列
SQL:
SELECT SUM(score),user_id,campaign_id FROM 表名 GROUP BY (user_id) ORDER BY SUM(score) DESC ;
结果为:

完成需求,以下是实际应用遇到的小问题:
**Dao.xml :

需要注意:因为sum()是一个函数,所以取值时要用map接收,但是 我们这个需求是要降序的,map 又是无序的,用map接收岂不是做了无用功?不用担心,在Dao里我们再封装一层:
**Dao.java :

把他用ArrayList来接收,Map做泛型,这样就不怕它的顺序变化了,顺便贴一下实现类里的取值方法:
**ServiceImpl . java :

foreach循环,但如果取sum(score)时,直接像上一行取contacts_id一样 ,转String类型运行是会报错的,需要借助Integer来做转换,这样取到的值才是正确不会报异常的。
MySQL的sum()函数的更多相关文章
- Mysql与Sql server,Sum函数跟Count函数
		两者均是统计类函数,都不计算NULL字段!!! 单纯计算行数的话,count的效率比sum的效率高 MySQL SUM()函数介绍 SUM()函数用于计算一组值或表达式的总和,SUM()函数的语法如下 ... 
- MySQL 对window函数执行sum函数疑似Bug
		MySQL 对window函数执行sum函数疑似Bug 使用MySql的窗口函数统计数据时,发现一个小的问题,与大家一起探讨下. 环境配置: mysql-installer-community-8.0 ... 
- 【MySQL】汇总数据 - avg()、count()、max()、min()、sum()函数的使用
		第12章 汇总数据 文章目录 第12章 汇总数据 1.聚集函数 1.1.AVG()函数 avg() 1.2.COUNT()函数 count() 1.3. MAX()函数 max() 1.4.MIN() ... 
- mysql踩坑记录之limit和sum函数混合使用问题
		问题复盘本次复盘会用一个很简单的订单表作为示例. 数据准备订单表建表语句如下(这里偷懒了,使用了自增ID,实际开发中不建议使用自增ID作为订单ID) CREATE TABLE `order` ( `i ... 
- mysql  sum()函数 , 计算总和
		mysql> select * from table1; +----------+------------+-----+---------------------+ | name_new | t ... 
- 关于SQL语句中SUM函数返回NULL的解决办法
		SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL. 但多数情况下,我们希望如果没有符合条件记录的情况下,我们希望它返回0,而不是NULL,那么我们可以使用例如 ... 
- MySQL数据库聚合函数
		+++++++++++++++++++++++++++++++++++++++++++标题:MySQL数据库聚合函数时间:2019年2月25日内容:MySQL数据库聚合函数重点:MySQL数据库聚合函 ... 
- mysql实现开窗函数
		mysql实现开窗函数 http://blog.itpub.net/29989552/viewspace-2123077/ 学习过oracle的应该知道,oracle中的分析函数功能十分强大,包括ms ... 
- thinkphp中的内置操作数据库与mysql中的函数汇总
		8.4.4 Model类getModelName() 获取当前Model的名称getTableName() 获取当前Model的数据表名称switchModel(type,vars=array()) ... 
随机推荐
- CSS3总结(干货)
			1.css3中好用的选择器 :target //突出显示活动的HTML锚 ::after / ::before{content:" ";} //content必须有,若无内容,用空 ... 
- Python个人总结_02
			个人学习总结: python 第二课 解释型和编译型语言 计算机是不能够识别高级语言的,当我们运行一个高级语言的时候,需要将高级语言 翻译成计算机能够读懂的机器语言.这个过程分为两类,一个是编译,一个 ... 
- POJ - 1062 昂贵的聘礼 Dijkstra
			思路:构造最短路模型,抽象出来一个源点,这个源点到第i个点的费用就是price[i],然后就能抽象出图来,终点是1. 任意两个人之间都有等级限制,就枚举所有最低等级限制,然后将不再区间[min_lev ... 
- 【Elasticsearch全文搜索引擎实战】之集群搭建及配置
			文中Elasticsearch版本为6.0.1 1. 环境配置 把环境配置放在第一节来讲,是因为很多人按官网的Getting Started安装运行会有各种错误.其实都是因为一些配置不正确引起的. 首 ... 
- asp.net程序发布详解
			本文转载自Alan_beijing的博客ASP.NET 程序发布详细过程.内容进行了部分更改. ASP.NET网站的发布,无论是初学者还是高手,在程序的发布过程中或多或少会存在一些问题,譬如VS发布A ... 
- nignx
			1. 什么是nginx Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够 ... 
- <CEPH中国-深圳站-技术交流会演讲PPT>  YY云平台Ceph Block应用实践   & 我写的书 《CEPH实战》
			YY云平台Ceph Block应用实践 http://s3.yyclouds.com/public/YY%E4%BA%91%E5%B9%B3%E5%8F%B0Ceph%E5%AE%9E%E8%B7%B ... 
- “大话架构”阿里架构师分享的Java程序员需要突破的技术要点
			一.源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 我认为是阅读源码的最核心 ... 
- probabilistic robotics_Kalman filter(一)
			码农生活告一段落,继续.... 多元正态分布 协方差矩阵,为正定对称矩阵.det表示行列式 协方差反应随机样本变量各分量之间的相关性. 当变量的假设模型不一致时,不适合用高斯滤波. 叠加高斯噪声的线性 ... 
- UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 52: invalid continuation byte
			代码: df_w = pd.read_table( r'C:\Users\lab\Desktop\web_list_n.txt', sep=',', header=None) 当我用pandas的re ... 
