java - 查询在mysql中有效,但在java中无效

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

有人可以帮忙吗?

最佳答案

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

但是,这个单一选择非常复杂,我确信您和您之后的任何人都无法轻松地弄清楚您想要做什么。

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

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

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

关于java - 查询在mysql中有效,但在java中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22109202/

相关文章:

mysql - 第一次体验外键,我做错了什么?

php - 文件名general.sql在mysql中是否保留

php - 我应该检查 pdo php 中执行操作的返回值吗

java - 将自定义类对象传递给 Java 中的泛型类型

Java 跳过代码行

java - 一个类告诉我它不会接受参数,但它应该像它的构造函数那样接受参数

mysql - MVC 应用程序在部署后无法连接到 MySQL

php - 如何更改 Yii2 中的默认数据库表名称?

JavaMail setDebug(真)

java - 动态地点 NameTokens GWT-Platform