sql - 计算速度SQL
问题描述
我有一个列“时间和列距离”的表。我想要一列按小时计算的速度计算器。
这是我的桌子
+---------+---------+----------------------+----------+--------------------+
| comp | idname | name | distance | time |
+---------+---------+----------------------+----------+--------------------+
| 1041321 | 1230274 | Berlin Calling (IRE) | 1400 | 1'30"74 |
| 1086603 | 1230274 | Berlin Calling (IRE) | 1600 | 1'42"05 |
| 1106577 | 1230274 | Berlin Calling (IRE) | 1650 | 1'46"56 |
| 1009518 | 1230274 | Berlin Calling (IRE) | 1700 | 1'44"23 |
| 1166930 | 1230274 | Berlin Calling (IRE) | 1800 | 2'06"54 |
+---------+---------+----------------------+----------+--------------------+
我想要这样的输出:
+---------+---------+----------------------+----------+--------------------+------------+
| comp | idname | name | distance | time | speed/KM/h |
+---------+---------+----------------------+----------+--------------------+------------+
| 1041321 | 1230274 | Berlin Calling (IRE) | 1400 | 1'30"74 | 55,5 |
| 1086603 | 1230274 | Berlin Calling (IRE) | 1600 | 1'42"05 | 56,4 |
| 1106577 | 1230274 | Berlin Calling (IRE) | 1650 | 1'46"56 | 55,7 |
| 1009518 | 1230274 | Berlin Calling (IRE) | 1700 | 1'44"23 | 58,7 |
| 1166930 | 1230274 | Berlin Calling (IRE) | 1800 | 2'06"54 | 51,13 |
+---------+---------+----------------------+----------+--------------------+------------+
谢谢您的帮助
解决方案
日期/时间和字符串解析函数特定于数据库。我将根据您提出的其他问题假设您正在使用 MySQL。
如果是这样,您可以使用:
select t.*,
distance / (substring_index(time, '''', 1) * 24.0 +
substring_index(substring_index(time, '''', 2), '"') * 1.0 +
substring_index(time, '"', -1) / (60.0)
) as speed
from t;
其他数据库具有解析字符串的功能,但这在数据库之间差异很大。
我强烈建议您将时间存储为十进制小时数,而不是您使用的神秘格式。
推荐阅读
- nestjs - Typeorm 无法从实体生成迁移文件
- vue-material - 如何根据元素或事件属性定位 Vue md-dialog(不使用 x,y 坐标)
- python - numpy.savetxt() 舍入值
- amazon-web-services - Cloudformation - S3 事件上的 Lambda 触发器?(桶已经存在)
- sas - 如何计算SAS中非零序列的长度
- python - 沿张量流中 (batch, 13, 13, 3, 1) 张量的最后一个维度的前 k 个
- c# - 将对象平滑移动到目标 Unity3D
- asp.net - MSbuild 网站未发布到本地目录
- javascript - 当用户使用 jQuery 滚动时,在不同的 div 中触发滚动事件
- dynamic - Hyperledger 私有数据动态访问