MySQLのSUM関数で条件付きの集計をする
下記のような[動物テーブル]から、
動物名 | 性別 | 数 |
---|---|---|
いぬ | オス | 1 |
いぬ | メス | 2 |
いぬ | メス | 2 |
ねこ | オス | 1 |
ねこ | オス | 3 |
ねこ | メス | 5 |
下記のような結果を出したいときのSQL文。
動物名 | オスの数 | メスの数 |
---|---|---|
いぬ | 1 | 4 |
ねこ | 4 | 5 |
SELECT 動物名, SUM(CASE WHEN 性別 = オス THEN 数 ELSE 0 END) AS オスの数, SUM(CASE WHEN 性別 = メス THEN 数 ELSE 0 END) AS メスの数 FROM 動物テーブル GROUP BY 動物名 ;
Mavenでライブラリを追加する
はじめに
EclipseでMavenを使って開発中。
MavenとはJava用プロジェクト管理ツールのこと。
ライブラリの追加方法
ライブラリを追加するには、mavenのリポジトリから対象ライブラリを探す。
対象ライブラリのMaven用コードがあるのでコピーする。
pom.xmlのdependenciesタグにコードをペーストする。
プロジェクトを右クリックして[Maven]>[プロジェクトの更新]。
エラーになったら
失敗したらプロキシ設定を疑う。
わたしの場合、社内プロキシのパスワードが古いままでできないことが多い。
ローカルリポジトリは、デフォルトでユーザのホームフォルダに作られる。
更新に失敗するとゴミが残るので、まず上記フォルダ内の対象フォルダにあるゴミファイルは削除する。
C:\Users\ユーザ名\.m2\repository
下記フォルダのプロキシ設定を修正する。
C:\Users\ユーザ名\.m2\settings.xml
プロジェクトを右クリックして[Maven]>[プロジェクトの更新]で、うまくいくはず。
Java8の日時を文字列に変換する
日時クラスの文字列変換は
Controllerのエンティティでフィールドにアノテーション@JsonFormatをつければよい。
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SS'Z'")
private OffsetDateTime date;
patternに書いた文字列の形でレスポンスを返してくれる。