MySQL中如何统一扭矩单位并计算平均值?
单条MySQL查询完成扭矩单位转换与平均值计算
可以利用MySQL的CASE条件语句统一转换所有扭矩值为英制单位(Lb.ft),再计算平均值,单条查询即可完成:
SELECT AVG( CASE WHEN UNITS = 'N.m' THEN TORQUE * 0.73756 ELSE TORQUE END ) AS avg_torque_lbft FROM TorqueTestResults;
语句解释
CASE语句根据UNITS字段的值判断处理逻辑:- 当单位是
N.m时,用给定公式TORQUE * 0.73756转换为Lb.ft - 单位已经是
Lb.ft时,直接保留原数值
- 当单位是
AVG()函数对转换后的所有数值计算平均值- 用
AS avg_torque_lbft给结果列指定清晰的别名
示例数据验证
用你提供的示例数据计算:
- 100 Lb.ft → 100
- 120 Lb.ft → 120
- 135 N.m → 135 × 0.73756 ≈ 99.5706
- 140 N.m → 140 × 0.73756 ≈ 103.2584
平均值为:(100 + 120 + 99.5706 + 103.2584) ÷ 4 ≈ 105.707
执行上述查询后会直接返回这个平均值结果。
内容的提问来源于stack exchange,提问作者Mark Hulbrock
相关产品推荐
相关产品推荐

