SELECT DeviceId, AVG(distance) AS avg_speed FROM ( SELECT DeviceId, DATEDIFF(second, LAG(StartTime) OVER (PARTITION BY DeviceId ORDER BY StartTime), StartTime) AS time_diff, SQRT(POWER(V1 - LAG(V1) OVER (PARTITION BY DeviceId ORDER BY StartTime), 2) + POWER(V2 - LAG(V2) OVER (PARTITION BY DeviceId ORDER BY StartTime), 2) + POWER(V3 - LAG(V3) OVER (PARTITION BY DeviceId ORDER BY StartTime), 2)) AS distance FROM T_BMWY_ResolveDeviceData WHERE StartTime >= DATEADD(day, -5, GETDATE()) ) t WHERE StartTime > 0 GROUP BY DeviceId 报错StartTime无效可是我表中有这个字段
时间: 2024-04-02 13:33:57 浏览: 52
根据你提供的 SQL 语句,错误信息提示 StartTime 无效。可以检查一下以下几点:
1. 确认表 T_BMWY_ResolveDeviceData 中是否有名为 StartTime 的列,并检查列名是否拼写正确。
2. 确认 StartTime 的数据类型是否为 datetime 类型,如果不是,可以尝试在 SQL 语句中将其转换为 datetime 类型,例如:CONVERT(datetime, StartTime)。
3. 如果表中有多个 StartTime 列或者其他表中有同名的 StartTime 列,可以尝试在 SQL 语句中使用表别名或者完整列名来区分。
希望以上建议可以帮到你解决问题。
阅读全文