美文网首页SQL随笔
数据库某列数据相乘

数据库某列数据相乘

作者: 煎饼果子86 | 来源:发表于2019-11-15 14:33 被阅读0次

1.基本思路

Oracle、MySQL等数据库中只有sum、max、min等函数用于做某列数据聚合,而没有办法直接计算某列数据的乘积,所以需要另想办法。
根据数学对数的加法原理,可对该列中所有数据取对数,后sum再做指数运算,即可得出所需结果。

  • 该做法最大的好处是利用数据库预置函数,效率相对较高
  • 该思路亦可应用到其他语言

2.对数加法原理

image
以下实验基于MySQL

3.查询结果代码

SELECT
a.empno
-- 取自然数e的对数
, EXP(SUM(LN(score))) log_e
-- 取10的对数
, POWER(10, SUM(LOG(10,score))) log_10
FROM emp a
GROUP BY a.empno;
列乘.png

4.准备数据代码

-- 建表
CREATE TABLE emp (
    empno VARCHAR(10) NULL DEFAULT NULL,
    score DECIMAL(20,4) NULL DEFAULT NULL
)
COLLATE='utf8_general_ci'
;

-- 写入数据
INSERT INTO emp VALUES ('a',1);
INSERT INTO emp VALUES ('a',2);
INSERT INTO emp VALUES ('a',3);
INSERT INTO emp VALUES ('a',4);
INSERT INTO emp VALUES ('b',5);
INSERT INTO emp VALUES ('b',6);
INSERT INTO emp VALUES ('b',7);
INSERT INTO emp VALUES ('b',8);
COMMIT;

相关文章

  • 数据库某列数据相乘

    1.基本思路 Oracle、MySQL等数据库中只有sum、max、min等函数用于做某列数据聚合,而没有办法直接...

  • pandas group分组

    某列数据按照某列分组: 某列数据按照某几列分组: 所有数据按照某列分组: 按照数据类型划分列:

  • EXCEL:乘积和的相关公式

    0x00 使用情景及模拟数据生成 有时要获得某几列数据乘积和即:同一行的数据先相乘后整列相加具体而言如下5列*30...

  • 学习MySql--常用命令

    数据库登录: 查看已有数据库: 切换到某数据库: 查看某数据库下所有表:

  • MySQL数据库操作

    数据库 MySQL 基本操作 数据库操作 表的操作 数据操作 字符集编码 数据类型(列类型) 列属性(列约束) 建...

  • MySQL基础语法操作

    使用可视化工具新建数据库表 select查询语句 查询users表中 所有的数据 查询users表中 某列的数据...

  • 【MYSQL第1篇】 如何将查询的行与列数据进行转置

    本篇着重解决用MYSQL数据库将数据行与列相互转换进行查询,我将直接用实际的例子来讲解。 第一 将某列的分类数据转...

  • PHP不使用Excel第三方类库,如何简易导出数据

    使用场景 不使用Excel第三方类库, 需要导出数据库中某几个列的数据,只需将查出每条数据的每列使用英文逗号隔开即...

  • 面试-Mysql索引认知

    一、概念引用百度:在关系数据库中,索引是一种单独的、物理的对数据库表中一列或多列的值进行排序的一种存储结构,它是某...

  • DDL-数据定义语言

    1、库 创建数据库 删除数据库 2、表 创建表 删除表 3、列 增加列 删除列 修改列 4、键 添加主键 删除主键...

网友评论

    本文标题:数据库某列数据相乘

    本文链接:https://www.haomeiwen.com/subject/jdxsictx.html