两列值 – 永夜 https://www.shuijingwanwq.com 没有不值得去解决的问题,也没有不值得去学习的技术! Thu, 06 Apr 2023 01:20:51 +0000 zh-Hans hourly 1 https://wordpress.org/?v=7.0 在 MySQL 5.7 查询两列值(类型为 timestamp)相减的平均数 https://www.shuijingwanwq.com/2023/04/06/7527/ https://www.shuijingwanwq.com/2023/04/06/7527/#respond Thu, 06 Apr 2023 01:20:51 +0000 https://www.shuijingwanwq.com/?p=7527 浏览量: 76 1、有两列值,分别为创建时间与更新时间,需要统计出在所有记录中,两列值相减的平均数。如图1
有两列值,分别为创建时间与更新时间,需要统计出在所有记录中,两列值相减的平均数

图1

2、如果列类型为 timestamp,那么需要将其转换为时间戳以进行运算。可以使用 UNIX_TIMESTAMP 函数将时间戳转换为秒数。先仅查询 2 条记录,以将结果与人工计算进行对比。SQL 如下,对比结果是相等的,结果等于 47。如图2
如果列类型为 timestamp,那么需要将其转换为时间戳以进行运算。可以使用 UNIX_TIMESTAMP 函数将时间戳转换为秒数。先仅查询 2  条记录,以将结果与人工计算进行对比。SQL 如下,对比结果是相等的,结果等于 47

图2



id created_at updated_at                   差值
45 2022-12-06 10:19:48 2022-12-06 10:20:36 48 
46 2022-12-13 08:22:45 2022-12-13 08:23:31 46




SELECT AVG(UNIX_TIMESTAMP(`updated_at`) - UNIX_TIMESTAMP(`created_at`)) AS avg_diff FROM `table` WHERE `id` IN (45,46);


3、最后统计时,可以省去 where 条件,或者调整 where 条件。结果符合预期。如图3
最后统计时,可以省去 where 条件,或者调整 where 条件。结果符合预期

图3

]]>
https://www.shuijingwanwq.com/2023/04/06/7527/feed/ 0