当前位置: 首页 > 面试题库 >

如何在iReport中使用SQL查询同一项目的多个SUM

公西承
2023-03-14
问题内容
  • 我正在使用iReport创建JasperReport,因此,我仅限于*一个SQL查询。

  • 我有一个表“ statistics”,其中有一个“名称”(VARCHAR),“计数”(INTEGER)和“日期时间”(DATETIME)列。

  • 当“名称”在最后一天(同样是最后一周和一个月)进行“测试”时,获取“计数”列的总和非常简单。

工作的SQL语句:

SELECT
  SUM(count)as 'today'
FROM
  statistics
WHERE
   name = "test"
  AND $P{oneDayAgo} <= datetime
  AND datetime <= $P{now}
  • 但是,由于我只有一个SQL语句可以使用,因此我需要以某种方式组合它们。我尝试使用UNION(如下所示),但是没有用。

SQL语句失败: ``

SELECT
     SUM(count)as 'today'
FROM
     statistics
WHERE
     name = "test"
 AND $P{oneDayAgo} <= datetime
 AND datetime <= $P{now}
UNION
SELECT
     SUM(count)as 'thisWeek'
FROM
     statistics
WHERE
     name = "test"
 AND $P{oneWeekAgo} <= datetime
 AND datetime <= $P{now}
UNION
SELECT
     SUM(count)as 'thisMonth'
FROM
     statistics
WHERE
     name = "test"
 AND $P{oneMonthAgo} <= datetime
 AND datetime <= $P{now}

(*)只能为图形或交叉表添加其他查询,而这两个查询都不符合我的目的。


问题答案:

sum(当-condition-然后计数else 0结束的情况)

SELECT
  SUM(case when $P{oneDayAgo} <= datetime then count else 0 end) as 'today',
  SUM(case when $P{oneWeekAgo} <= datetime then count else 0 end) as 'thisweek',
  SUM(count) as 'thismonth'
FROM
  statistics
WHERE
   name = "test"
  AND $P{oneMonthAgo} <= datetime
  AND datetime <= $P{now}

请注意,如果需要平均值,请确保将NULL替换为0。



 类似资料:
  • 我将编写此查询,它在Console中工作。sql或Workbench中,但当我在@Query中使用它时,我得到了一个语法错误! 在我的IDE中,错误是在下次选择

  • 我正在尝试为iReport获取等效查询。这是我的sql查询。但是当我将它粘贴到Ireport数据集时,我得到了这个错误。

  • 我想在一个名为的表中计算名为的同一列: 假设我需要在20180201和20180228之间计算“(值的类型=111或222或333)/(值的类型=444)”,我使用SQL查询如下: 我只选择了备注=“111或222或333”,我不知道为什么会出现所有备注(“555和666”),我得到的结果如下: SQL查询正确吗?我确信我的SQL查询有问题。非常感谢您的建议。

  • 问题内容: 因此,这不适用于mysql_query。 我严格使用c ++,并且我没有使用php。 我希望执行此双重查询,以便在由并发用户创建ID的交易系统中,我将始终具有唯一ID。 它可以完美地在MySql数据库中运行,但是我需要将其添加到Eclipse(我正在使用Ubuntu 12.04 LTS)。 我的应用程序很大,如果可能的话,我不想更改为mysqli,但是如果没有其他方法,那就可以了。 你

  • 问题内容: 使用此代码,我无法多次运行插入查询。它仅询问ID和名称一次(如果counter中的值大于1)。 让我借助一个示例进行说明:- 假设我将值2放入。这样,它应该询问我两次ID和名称,但只询问一次,然后它将我为ID和名称输入的值复制到表中两次。 我怎样才能解决这个问题?如果不能,请提出替代代码,以解决我的问题。 问题答案: 当PL / SQL块被编译时( 而不是 正在执行中),替换变量和分别

  • 我正在构建一个定制的Java库。我把我的大部分“重复”代码都保存在那里,比如文件处理、字符串处理等。每次我想使用它们时,我都必须将该类复制并粘贴到我正在进行的其他项目中。有没有办法让这个自定义库类成为“依赖项”?我在用我的智能手机。