-
2021-01-28 02:01:34
为此,您可以round()与一起使用avg()。让我们首先创建一个表-mysql> create table DemoTable
(
Score int
);
使用插入命令在表中插入一些记录-mysql> insert into DemoTable values(98);
mysql> insert into DemoTable values(97);
mysql> insert into DemoTable values(91);
mysql> insert into DemoTable values(86);
mysql> insert into DemoTable values(45);
使用select语句显示表中的所有记录-mysql> select *from DemoTable;
这将产生以下输出-+-------+
| Score |
+-------+
| 98 |
| 97 |
| 91 |
| 86 |
| 45 |
+-------+
5 rows in set (0.00 sec)
以下是查询以计算列值的平均值并显示不带小数的结果-mysql> select round(avg(Score),0) AS Average from DemoTable;
这将产生以下输出-+---------+
| Average |
+---------+
| 83 |
+---------+
1 row in set (0.00 sec)
更多相关内容 -
mysql每半小时平均值计算的sql语句
2020-12-15 14:02:11表结构: CREATE TABLE `instance` ( `id` int(11) unsigned NOT NULL AUTO_...统计每半小时平均值,实现可以如下: select `timestamp`-`timestamp`% (5*60) , avg(cup) from `instance` group by `timestamp` -
mysql – 计算日期/时间段的平均值
2021-03-14 13:46:44所以我希望输出是每个分辨率的平均值(例如,Day =一分钟内的平均值,Week =一小时内的平均值等等) 例如: Sensor | Start | End | Average 如何在mySQL中轻松快速地完成此操作?我怀疑它会创建一个临时表或进行排序并...问题:
我有一个传感器读数数据库,带有读取传感器时间的时间戳.基本上它看起来像这样:
Sensor | Timestamp | Value
现在我想从这些数据中制作一个图表,我想制作几个不同的图表.假设我想要一个最后一天,一个是上周,一个是上个月.每个图的分辨率将不同,因此对于日图,分辨率将为1分钟.对于周图表,它将是一个小时,对于月份图表,它将是一天或一天的四分之一.
所以我希望输出是每个分辨率的平均值(例如,Day =一分钟内的平均值,Week =一小时内的平均值等等)
例如:
Sensor | Start | End | Average
如何在mySQL中轻松快速地完成此操作?我怀疑它会创建一个临时表或进行排序并将传感器数据与其连接以获得传感器的平均值?但我对mySQL的了解最多也是有限的.
有一个非常聪明的方法吗?
解决方法:
SELECT DAY(Timestamp), HOUR(Timestamp), MINUTE(Timestamp), AVG(value)
FROM mytable
GROUP BY
DAY(Timestamp), HOUR(Timestamp), MINUTE(Timestamp) WITH ROLLUP
WITH ROLLUP子句在这里产生额外的行,每个HOUR和DAY的平均值,如下所示:
SELECT DAY(ts), HOUR(ts), MINUTE(ts), COUNT(*)
FROM (
SELECT CAST('2009-06-02 20:00:00' AS DATETIME) AS ts
UNION ALL
SELECT CAST('2009-06-02 20:30:00' AS DATETIME) AS ts
UNION ALL
SELECT CAST('2009-06-02 21:30:00' AS DATETIME) AS ts
UNION ALL
SELECT CAST('2009-06-03 21:30:00' AS DATETIME) AS ts
) q
GROUP BY
DAY(ts), HOUR(ts), MINUTE(ts) WITH ROLLUP
2, 20, 0, 1
2, 20, 30, 1
2, 20, NULL, 2
2, 21, 30, 1
2, 21, NULL, 1
2, NULL, NULL, 3
3, 21, 30, 1
3, 21, NULL, 1
3, NULL, NULL, 1
NULL, NULL, NULL, 4
2,20,NULL,2这里表示COUNT(*)为2表示DAY = 2,HOUR = 20和所有分钟.
标签:mysql,datetime,select,timespan
来源: https://codeday.me/bug/20190717/1485466.html
-
Mysql分组求平均值
2021-03-08 17:39:47-------±-----------+ | groupId | avg(value) | ±--------±-----------+ | 1 | 1.5000 | | 2 | 3.0000 | | 3 | 2.0000 | | 5 | 6.0000 | ±--------±-----------+ 这样就求出了每个组前2个最大的value的平均值select * from group_avg_test;
select groupId,avg(value) from ( select groupId,value from ( select groupId, value,@num := if(@currGroupId = groupId, @num + 1, 1) as row_number, @currGroupId := groupId from(select @num := 0, @currGroupId := '') as i, group_avg_test order by groupId, value desc ) as r where r.row_number <= 2 ) as t group by groupId;
这样就求出了每个组前2个最大的value的平均值
-
mysql – 计算SQL中的移动平均值
2021-03-14 02:19:58我想从MySQL专栏计算12个月的移动平均线.数据代表时间序列功率测量,它是一个较大的数据集(几年内每10分钟一次).一个高性能的查询会很好,但速度是我以后可以解决的问题.DTE Active2012-1-3 00:10 5002012-1-3 00:20 ...我想从MySQL专栏计算12个月的移动平均线.数据代表时间序列功率测量,它是一个较大的数据集(几年内每10分钟一次).一个高性能的查询会很好,但速度是我以后可以解决的问题.
DTE Active
2012-1-3 00:10 500
2012-1-3 00:20 520
... etc
以下查询为我提供了每月的活动总数:
SELECT YEAR(DTE) AS year, MONTH(DTE) AS month, SUM(Active)/6 as total FROM saturne s GROUP BY YEAR(DTE), MONTH(DTE)
以下查询给出了给定月份和年份的移动平均值 – 例如2011年10月
SELECT SUM(Active)/6 AS average FROM saturne
WHERE (YEAR(DTE) = 2011 AND MONTH(DTE) <= 10) OR (YEAR(DTE) = 2010 AND MONTH(DTE) > 10)
但是,我想生成一个查询,该查询返回下一列中的每月总计和12个月移动平均值.
year month total average
2012 2 701474 9258089
2012 1 877535 9386664
... etc
(因子6是因为数据表示每10分钟记录一次的瞬时功率,将总数除以6给出总能量)
解决方法:
尝试:
SELECT YEAR(GDTE) AS year,
MONTH(GDTE) AS month,
SUM(case when i=0 then Active end)/6 as total,
SUM(Active)/(MAX(i+1)*6) as avg
FROM
(select s.*, DATE_ADD(DTE, INTERVAL m.i MONTH) GDTE, m.i
FROM saturne s
cross join (select 0 i union select 1 union select 2 union select 3 union
select 4 union select 5 union select 6 union select 7 union
select 8 union select 9 union select 10 union select 11) m
) sq
WHERE GDTE <= curdate()
GROUP BY YEAR(GDTE), MONTH(GDTE)
标签:sql,mysql
来源: https://codeday.me/bug/20190902/1790254.html
-
mysql求平均值
2018-07-26 17:37:02表结构: ...#求instanceId对应的avgCpuUseRatio的平均值 select instanceId, AVG(avgCpuUseRatio) from monitor where cloud="Aliyun" and type="ecs" and date>='2018-07-01' and date; 参考: ... -
MYSQL简单移动平均值计算
2021-03-14 15:47:27以下MySql更新状态似乎需要花费过多的时间来执行所提供的记录集(~5000条记录).下面的更新语句平均需要12秒才能执行.我目前计划对5个不同时期和大约500种不同的股票代码进行此计算.这转换为12秒* 5计算* 500符号= 30,... -
MySQL查询连续计算平均值?
2021-01-27 22:26:09要计算MySQL中一行的平均值,请使用以下语法SELECT(yourTableName.yourColumnName1+yourTableName.yourColumnName2+yourTableName.yourColumnName3+,..........N)/numberOfColumnsASanyAliasNameFROMyourTableName;... -
使用MySQL中的AVG函数求平均值的教程
2020-09-10 09:18:28主要介绍了使用MySQL中的AVG函数求平均值的教程,是Python入门学习中的基础知识,需要的朋友可以参考下 -
如何计算MySQL中数据库行之间的平均值?
2021-01-18 18:19:59为此,您可以使用AVG()。以下是语法-selectavg(yourColumnName1)asanyAliasName1,avg(yourColumnName2)asanyAliasName2,avg(yourColumnName3)asanyAliasName3,.....让我们创建一个表-mysql>createtabledemo3... -
如何计算mysql数据表某一列的平均值
2021-01-19 04:36:432在data数据内外插入5条数据,用于下面计较数据表age列的平均值。3新建一个php文件,定名为test.php,在文件内利用header()方式设置文件执行编码为utf8。4在test.php文件内,利用new mysqli经由过程数据库账号、暗码... -
mysql里的求平均数 并保留小数点
2021-01-26 05:11:33mysql里的求平均数 并保留小数点SELECT CAST(AVG( complete_speed ) as decimal(10,2)) as complete_speed,CAST(AVG( complete_quality ) as decimal(10,2)) as complete_quality ,CAST(AVG( work_bearing ) as ... -
MySQL按平均两个平均值排序
2021-03-14 18:35:15我正在竞赛网站上工作,有两种类型的用户,普通...获胜者实际上将通过平均每组的平均值来确定.我希望做的是最终得到一个表格,显示特定比赛中的每个条目,标题,然后显示3个值,该条目的avg_normal,该条目的avg_judge,然后... -
mysql如何求时间段平均值
2021-01-19 07:12:32mysql求时间段平均值的方法:首先在存储过程中,拼接sql语句;然后据起始时间和结束时间,while循环每次加一段时间;最后进行时间段平均即可。本教程操作环境:windows7系统、mysql8.0.22版,Dell G3电脑。更多相关... -
用sql的avg(score)求完平均值后,保存两位小数的方法(用于查询或视图)
2021-02-02 08:54:25MySql中对Group by后的结果数进行Count 今天在写MySQ的SQL语句的时候遇到了一个奇怪的问题 select count(*) from subsitealbum t1, photo t2,files t3 where t1.SourceA ... c#获取程序版本号 Content.Text = "程序... -
mysql – 计算多个列的平均值,并按group_id分组
2021-01-18 23:58:34我正在尝试从一个表中计算平均值,并将其放入一个新的表中,该表按MySQL中的组名分组.在第一个表格(称为答案)中,我有许多小组的调查答案.答案是数值(INT,1-7),问题分为问题组(文化,表现等).所有答案都有一个响应者姓名... -
MYSQL中最基础的的聚合函数(avg求平均值及count求和)
2021-08-20 16:42:101.性质及作用:avg(column) 用于返回数字型字段 column 的平均值,注意:列值为 null 的字段不参与运算。 2.如何运用 实例:1.获取线路里程的平均值。 2.获取公交二公司所属线路的平均里程数。 二。count... -
MySql的数据汇总函数(平均值,数据数量,最大值,最小值,总和)
2020-08-25 22:53:031.求平均值(avg()) 示例:求id是1003的所有用户的平均价格 select avg( price ) from products where id = 1003; 2.多少行的统计(count()) 示例:看看有多少用户 select count( * ) from products; 3.最大值的计算... -
MYSQL函数记录20210902(截取字段计算总和求平均值)
2021-09-03 08:45:42截取memory_usage字段中的小数值 并计算平均百分比表数据1.截取1.1 substring_index(关键字的索引开始截取,-1由最后往前截)1.1.11.1.2 再次截取(1 从最前完后截取,截取到%之前)1.2 substring1.2.1 INSTR1.2.2 ... -
学习使用MySQL 求平均值函数AVG
2022-04-01 09:56:07MySQL AVG() 函数通过计算返回的行数和每一行数据的和,求得指定列数据的平均值。 这里需要用到以下在介绍 MAX() 函数时创建的表 tb_students_score 。 实例】在 tb_students_score 表中,查询所有学生成绩的平均值... -
使用聚合函数查找MySQL中列值的平均值
2021-01-19 23:03:57让我们首先创建一个表-mysql>createtableDemoTable(Numberint);使用插入命令在表中插入一些记录-mysql>insertintoDemoTablevalues(56);mysql>insertintoDemoTablevalues(78);mysql>... -
mysql怎么求最大值、最小值和平均值?
2021-01-26 02:59:11MySQL MAX函数:查询指定列的最大值MySQL MAX() 函数是用来返回指定列中的最大值。为了方便理解,首先创建一个学生成绩表 tb_students_score,学生成绩表的数据内容如下所示。mysql> use test_db;Database ... -
MySql 如何返回 时间差的平均值
2019-05-25 20:03:05MySql 如何返回 时间差的平均值 文章目录MySql 如何返回 时间差的平均值返回时间差平均值查看原数据 返回时间差平均值 设有一表内有字段submitTime,editTime,需要返回所有数据的时间差的平均值 时间为空则不计,... -
MySQL:使用空值求平均值
2021-01-19 06:36:27所以SUM(col)/ COUNT(col)= AVG(col) – 这很棒且一致.COUNT(*)的特殊情况计算每一行.如果组成一个带有NULL的表达式:A或B为A的B,则无论另一列为NULL,A B都将为NULL.当存在NULL时,通常AVG(A B)<> AVG(A)AVG(B)... -
MySQL学习笔记(三)——计算字段及常用函数
2021-01-19 02:02:36拼接字段-Concat()函数将值连接在一起构成单个值。注意:大多数DBMS使用+或者||来实现拼接,mysql则使用Concat()函数来实现。去空格函数-Trim函数Trim去掉串左右两边的空格,RTrim去掉串右边的空格,LTrim去掉左边的... -
mysql:一行中的多个列的平均值,忽略空值
2021-01-19 06:36:30)mysql:一行中的多个列的平均值,忽略空值对于许多记录,一个或多个这些列的值为空,因为外部数据库没有数据。它们都覆盖我的数据库的不同子集。我希望列t是它们的加权平均值(每个a..f都有我分配...