2

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 |

注:ログイン日をエポック時間で保存しました。

次のクエリのレポートを作成したいと思います。

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

実行時パラメーターに 2 つのパラメーターを追加しました。

例。${FROM}および$P{TO}、値式は日付/時刻です。

ユーザーは、エポックに変換したい入力を使用して日付と時刻を選択します。

iReportJasperServer でこれを達成するにはどうすればよいですか?

4

1 に答える 1

0

とてもシンプルで、GetTime() である Date の関数を呼び出すだけで、UTC 時刻が得られ、それをクエリのパラメータとして使用できます。

スクリーンショットを参照してください。 ここに画像の説明を入力

于 2012-06-09T09:11:14.497 に答える