1
以下是我正在尝试运行的查询。mysql:奇怪的错误1111组使用无效
select location_data.trip_code,sum(max(device_time)-min(device_time)) from location_data,trip_management
where location_data.source_id=3 and location_data.trip_code=trip_management.trip_code
group by location_data.trip_code
存在由在两个trip_managemnet和location_data tables.these跳闸trip_code识别各种旅行采取由单个唯一标识用户(SOURCE_ID = 3)3。我在这里要做的是总结每次旅行的所有时间差异,然后使用sec_to_time函数将其转换为hh:mm:ss,以显示用户3完成所有行程所需的总时间。
上述查询的问题是,只要我在每次旅行的最大和最小device_time的差异上应用sum(),它就会生成错误1111。我不能提供一个子查询,因为这本身就是一个较大查询中的子查询。
我希望我解释得很好。
非常感谢:)但我希望避免子查询来实现结果。正如我所提到的,这个查询initself是一个更大查询中的子查询。嵌套子查询会导致性能下降,不是吗?有没有一种方法可以避免子查询保持架构,因为它是? – Salik 2013-05-01 14:48:21
@ user1451836在这种情况下,FROM子查询无法避免,因为“GROUP BY”子句需要在不同的上下文中应用。这里的性能不会像在SUM()里面的子查询那样差。这可能会慢几个数量级。你的其他选择是将子查询缓存为物化视图,如果它不经常改变的话。 – 2013-05-01 15:27:59
视图不会工作,因为传入的数据是实时的,创建视图会增加系统的复杂性。所以,我认为这是我的问题的答案。谢谢迈克尔:) – Salik 2013-05-01 15:50:39