You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询:MySQL计算平均维修时长的SQL查询是否正确?

你的SQL查询是正确的

这条语句的逻辑完全匹配你的需求,拆解来看:

  • DATEDIFF(exrdate, exstdate) 会准确计算每条记录的结束日期与开始日期之间的天数差,由于你的日期列是date类型,主流数据库(如MySQL、SQL Server)都能正确解析并完成计算。
  • AVG()函数会对所有记录的天数差取平均值,ROUND(..., 1)则把结果保留一位小数,和你得到的2.4格式一致。

唯一需要留意的细节:如果表中存在exrdate早于exstdate的异常数据,这类记录会产生负数天数,拉低最终平均值的准确性。如果有这种情况,可以在查询中加上过滤条件修正:

SELECT ROUND(AVG(DATEDIFF( exrdate, exstdate )), 1) AS avg_repair_time 
FROM repairs
WHERE exrdate >= exstdate;

内容的提问来源于stack exchange,提问作者newbiewebdev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 03:36:21