查询在mysql中工作,但在java中不工作

查询在mysql中工作,但在java中不工作,java,mysql,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

我的问题如下:

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


有人能帮忙吗?

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

但是,这个单一的选择是如此复杂,我相信无论是你还是你之后的任何人都不能轻易地弄清楚你到底想做什么

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

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


或者,创建一个存储函数并从Java调用它,因为您说过,如果您从MySQL执行查询,它可以工作。

如果您能说出您得到的错误,这会有所帮助:谢谢,它说的是未知错误,但出现此问题的行是:rset=stmt.executeQuery;我们能看到实际的Java代码吗?显示数据库模式也会有所帮助。但是无论如何,如果你想自己调试这个,我的建议是你从一个最小的查询开始,比如说,不带and的select并开始添加东西,直到它失败,然后你就知道是哪个部分导致查询失败。我们需要真正的代码和堆栈跟踪-这里没有足够的信息来帮助你找到哪里出了问题。