查询在mysql中工作,但它在java中不起作用

时间:2014-03-01 02:07:42

标签: java mysql

我的查询如下:

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错误。 我的代码是真正设置的,因为当我用其他东西替换这个查询时它可以工作,所以它表明使用这个查询的逻辑有问题

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

看起来你正试图找到某种平均值。

但是,这个单一选择是如此复杂,以至于我确信无论是你和跟在你身后的任何人都能够轻易弄清楚你想要做什么。

将其分解为几个较小的查询并分别编码。

然后用Java计算你的平均值,而不是构建这个过于复杂的查询。

或者,创建一个存储的函数并从Java中调用它,因为如果你从MySQL执行查询,它就会起作用。