質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

0回答

409閲覧

xmlにおいて、条件付きカウントがうまくできません

k318

総合スコア12

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2019/07/22 11:02

編集2022/01/12 10:55

前提・実現したいこと

Javaで条件付きカウントを行って利用者人数を日付、システムの単位ごとに出力したいと思っています。

出力例

日付 システム名 利用者人数
2019/06/03 ○○ 3
2017/05/21 ☆☆ 2
2018/01/31 ¥¥¥ 5

発生している問題

GROUP BYでグループ化すると指定した期間外のデータまで取り出されてしまう。

GROUP BYをなくすとテーブルのユーザーコードが全件カウントされるだけになってしまう

該当のソースコード

java,xml

1ソースコード 2 3<!-- 利用者表示のデータを表示する --> 4 <select id="getUser" resultType="CountuserResult"> 5 SELECT 6 o.request_date, 7 s.system_name, 8 COUNT(o.user_code) AS countUser 9 FROM 10 log_system o 11 LEFT OUTER JOIN system_name s 12 ON (o.system_no = s.system_no) 13 <where> 14 <choose> 15 <when test="requestDateFrom != null &amp;&amp; requestDateTo != null"> 16 AND o.requestDate BETWEEN #{requestDateFrom} AND #{requestDateTo} 17 </when> 18 <when test="requestDateFrom"> 19 <![CDATA[ 20 AND o.requestDate >= #{requestDateFrom} 21 ]]> 22 </when> 23 <when test="requestDateTo"> 24 <![CDATA[ 25 AND o.requestDate <= #{requestDateTo} 26 ]]> 27 </when> 28 </choose> 29 </where> 30 ORDER BY 31 o.request_date ASC, 32 s.system_no ASC; 33 </select>

補足情報(FW/ツールのバージョンなど)

eclipceを使用しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jimbe

2019/07/23 13:05

この XML は何のコードでしょうか.
gentaro

2019/07/24 11:32

これJava云々じゃなくて、何らかのライブラリを使ってSQL発行してるだけじゃないんですか?(質問文にJavaのコードが一切出てこないし…) SQLがわからんのであれば、使っているDBMSやテーブル定義、具体的なデータ例を書いた方が良いです。
k318

2019/07/24 12:12

SQLを見直した結果できるようになりました!質問が下手で申し訳ございませんでした。
swordone

2019/08/11 01:32

解決したのならその解決方法を自己解決として投稿し、質問を閉じてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問