T是表,G是组,V是值:
分组、求和、求最大值:select G,MAX(SUM(V)) V1 from T group by G;
求比值:
select T.G,SUM(T.V)/A.V1
from T,
(select G,MAX(SUM(V)) V1 from T group by G) A
where T.G=A.G
group by T.G;
试试看,我没测试.
错误计算.MySQL是一个关系型数据库管理系统,由瑞典MySQLAB公司开发,由于错误计算会导致分组求和数值对不上,需要重新计算,才能确定数据的准确性.
取值为Sunday~Saturday,对应星期日到星期六,第一天是星期日;
该函数与参数lc_time_names有关,如果设置此参数值为"zh_CN",则得到对应的中文名称"星期日"~"星期六"
示例:
修改lc_time_names参数后,得到中文名称:
该函数用于获取日期是年度中的第几周.该函数比较复杂,使用不同的mode,得到不同的结果.见下表:
实际上,这个参数主要是为了解决跨年的周该如何归属的问题,是算作本年度的第一周,还是上一年度的最后一周,又或者是算作第0周.这需要根据使用场景和习惯来选择.
但不管怎么归属,week函数本身的取值范围有限,所以再跨年的时间区间一般不用此函数(后边举例说明).
参考:
假设我们有一张销售表,内容如下:
现在,我们要统计每周的销售额.
首先想到的是用week函数,计算日期对应的周数,然后按照这个周数来进行分组求和:
如果能保证这个日期区间是在一个年度内的,那么用week函数完全没有问题.
select 分组字段,sum(统计字段) from 表名 group by 分组字段
这样统计啊?那比较有难度,即使统计也得用union all来连接,而且不可动态分配
以上就是土嘎嘎小编为大家整理的mysql怎么分组求和相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!