2

我想为两个日期之间的登录历史创建一个报告。

登录历史表具有以下字段:

login_date  (data type is integer)
user_id     (data type is integer)

样本记录

|login_date |user_id|
+-----------+-------+
|1299954600 |   105 |
|1299954600 |   105 |
|1299954600 |   105 |
|1299954600 |   105 |
|1301164200 |   114 |
|1301164200 |   106 |
|1301769000 |   110 |
|1301164200 |   106 |
|1301769000 |   106 |
|1301769000 |   106 |
|1301769000 |   106 |
|1302978600 |   102 |
|1302373800 |   112 |
|1302978600 |   111 |
|1302978600 |   111 |
|1302978601 |   111 |

注意:我已将登录日期存储在 Epoch 时间中。

我想为以下查询创建报告。

SELECT
  user_id,
  count(user_id)
FROM
  rep_time_tracking
WHERE
  login_date between 1301596200 AND 1303496940
GROUP BY 1;

我为运行时参数添加了两个参数。

例子。${FROM}并且$P{TO},值表达式为日期/时间。

现在用户使用我要转换为 Epoch 的输入来选择日期和时间。

如何在 iReportJasperServer 中实现这一点?

4

1 回答 1

0

它非常简单,您所要做的就是在 Date 上调用一个函数 getTime() 它为您提供 UTC 时间,然后将其用作查询中的参数。!

请参阅屏幕截图。 在此处输入图像描述

于 2012-06-09T09:11:14.497 回答