MySQL - 计算关系的 AVG(DISTINCT)

标签 mysql mysql-workbench

关系的 B 列在表的五行中具有以下值列表: 3、空、2、3、5

以下哪项是 AVG(DISTINCT B) 的正确值?

我尝试在此处使用指定的行创建一个关系表,然后执行 AVG(DISTINCT A): http://ideone.com/3ItE01

 CREATE TABLE A(a int(8), b int(8), c int(8), d int(8), e int(8));
 INSERT INTO A VALUES (3, NULL, 2, 3, 5);
 INSERT INTO A VALUES (3, NULL, 2, 3, 5);
 INSERT INTO A VALUES (3, NULL, 2, 3, 5);
 INSERT INTO A VALUES (3, NULL, 2, 3, 5);
 INSERT INTO A VALUES (3, NULL, 2, 3, 5);

但是我的“AVG(DISTINCT A)”SQL 查询无效。我是 SQL 新手,正在寻找文档。有什么想法吗?

最佳答案

像这样创建表

CREATE TABLE `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `value` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1;

通过查询插入值

insert  into `test`(`id`,`value`) values (1,'3'),(2,'2'),(3,'3'),(4,NULL),(5,'5');

现在使用查询

SELECT AVG( DISTINCT test.value)FROM test

计算平均值,您将得到结果3.3333333333333335

关于MySQL - 计算关系的 AVG(DISTINCT),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36043491/

相关文章:

mysql - 如何从数据库中取出数据 "disappear"? MySQL

MYSQL LOAD DATA INFILE 语句适用于工作台,但不适用于 python

mysql - 使用mysql workbench仅导出表结构

mysql - MySQL 8中无效的regexp

mysql - 在 MySql Workbench 中使用 local-infile 选项连接

mysql - 如何根据光标的条件进行更新

mysql - 从多个列中获取两个最大值

mysql - 如何编写一个 MySQL 查询来通过从中选择一些值来生成一个新表?

mysql奇怪的连接问题

mysql - 返回所有用户的列表,与他们最多的 "popular"关注者配对。某人拥有的追随者越多,他们的 "popular"就越多