dokoSQLを使用し、SUM関数で、sum関数の列以外の列を一緒に集計結果を取得できることがわかった。
当たり前っちゃ当たり前ですが、私にとっては新たな発見でしたので、メモ。
場面、
テーブルの表をそのまま取得してきたいけど、ある条件を満たしているレコードの件数を同じsqlで取得してきたい。
新人研修で同期がやっていてどうやってやるのか気になっていた。
insert.sql
insert into 家計簿アーカイブ(費目,メモ,入金額,出金額)values('給料','2月','10000','10000');
insert into 家計簿アーカイブ (費目,メモ,入金額,出金額)values('給料','3月','10000','10000');
insert into 家計簿アーカイブ (費目,メモ,入金額,出金額)values('給料','4月','10000','10000');
select.sql
select 日付,メモ,入金額,出金額,費目,(select sum(case when 費目 = '給料' then 1 else 0 end) from 家計簿アーカイブ) from 家計簿アーカイブ;
副問合せの列だけ表に肉づけしている感じでしょうか。
デフォルトで入っているテーブルを操作しているので、よかったらご自身でやってみてください。
参考
https://dokoql.jp/workspace
https://sukkiri.jp/books/sukkiri_sql