我有一个如下的问题:
select(SELECT sum(Frequency) FROM omid.entity_epoch_data where DataitemType=0 and
EntityID in(SELECT EntityID FROM omid.entity where PartyID=2) and EpochID in(
SELECT ID FROM omid.epoch where StartDateTime>='2013-11-01' and EndDateTime<='2013-11-30'))/
(select count(*) from omid.entity where PartyID=2);当我在我的sql中运行它时,它可以工作,但当我在java中运行它时,我得到一些sql错误。我的代码是真正设置的,因为当我用其他东西替换这个查询时,它会工作,所以它显示使用这个查询的逻辑有问题
有人能帮上忙吗?
发布于 2014-03-01 10:36:15
看起来你正在尝试寻找某种平均值。
但是,这个单一的选择是如此复杂,我敢肯定,无论是你还是你之后的任何人都不能轻易地弄清楚你到底想要做什么。
将其分解为几个较小的查询,并分别编写代码。
然后用Java计算平均值,而不是构建这个过于复杂的查询。
或者,创建一个存储函数并从Java调用它,因为您说过如果从MySQL执行查询,它就可以工作。
https://stackoverflow.com/questions/22109202
复制相似问题