当前位置: 首页 > 编程笔记 >

创建一个MySQL函数并在列中找到平均值

乐正穆冉
2023-03-14
本文向大家介绍创建一个MySQL函数并在列中找到平均值,包括了创建一个MySQL函数并在列中找到平均值的使用技巧和注意事项,需要的朋友参考一下

让我们首先创建一个表-

mysql> create table DemoTable638 (Name varchar(100),Marks int);

使用插入命令在表中插入一些记录-

mysql> insert into DemoTable638 values('John',67);
mysql> insert into DemoTable638 values('John',90);
mysql> insert into DemoTable638 values('David',99);
mysql> insert into DemoTable638 values('John',60);

使用select语句显示表中的所有记录-

mysql> select *from DemoTable638;

这将产生以下输出-

+-------+-------+
| Name  | Marks |
+-------+-------+
| John  | 67    |
| John  | 90    |
| David | 99    |
| John  | 60    |
+-------+-------+
4 rows in set (0.00 sec)

以下是创建返回平均值的函数的查询-

mysql> set global log_bin_trust_function_creators=1;
mysql> DELIMITER //
mysql> CREATE FUNCTION getAverageDemo()   RETURNS INT
   BEGIN DECLARE value INT;
      SELECT AVG(Marks) INTO value from DemoTable638 WHERE Name="John";
      RETURN value;
   END;
   //
mysql> DELIMITER ;

现在您可以使用select语句调用该函数-

mysql> select getAverageDemo();

这将产生以下输出-

+------------------+
| getAverageDemo() |
+------------------+
| 72               |
+------------------+
1 row in set (0.01 sec)
 类似资料:
  • 这是我必须开始的,我正在学习javascript,所以请尽可能简化你的回答。我明白如果你必须更详细,请这样做。说明是:

  • 问题内容: 我想查找两列总计的平均值。我想计算col1和col2的总数,然后找到平均值(它们在多少个不同的行中)。 我设法在这个sqlfiddle中提出了一个解决方案(另请参见下文),这是最好的方法吗?我最初以为我需要使用avg函数,但无法使用它来解决。 问题答案: 根据定义,并且,因此= 。 同样,加法的可交换性给了我们,因此。

  • 我想计算最接近数组平均数的数字,我已经计算完平均数,但我不知道如何找到最接近平均数的数字。 }

  • 我正在尝试使用用户输入将数字放入一个数组,然后找到这些数字的平均值,也找到哪些数字大于平均值。这些数字进入一个数组,但当我试图求平均数时,我无法求出平均数,以及哪些数字大于平均数,因为对于试图求出大于平均数的数字的部分,并非所有变量都是可见的。但是,当我允许这个部分看到所有的变量(don't But{}围绕某些部分)时,它会找到每一个数的平均值。现在,它为每个数字打印平均值,而为大于平均值的数字打

  • 问题内容: 我有这张桌子 我想获取过去12个月的每月销售量。 如何在列别名上生成月份名称(无需硬编码)? 我尝试了这个:- http://sqlfiddle.com/#!2/ee777/9 但是我想要这种格式的结果表 我试图使用函数给列别名,但这是语法错误。 我如何获得月份和年份的别名(例如:-Oct-12)来代替,等等。 问题答案: MySql没有,因此您必须使用conditional 。 有两

  • 问题内容: 我的数据集如下: 仅使用MySQL窗口函数可以做到这一点吗? 环境详细信息: 服务器版本:8.0.12 MySQL Community Server-GPL 问题答案: 您可以将Window Functions与Frames一起使用 : DB小提琴演示 细节: 表示当前行上方的两行(当前行除外)。我们在上明确定义了升序。因此,这意味着两个最接近的日期,低于当前行的日期 表示当前行。 使