valid,invalid

関心を持てる事柄について

SQL

SQLでパーセンタイル値を求める

SQLでパーセンタイル値を求めたいことがあり、Calculate Percentile Value using MySQL - Stack Overflowを参考に実現できた。 実例 口座 (accounts) テーブルで残高 (balance) column の95パーセンタイル値を求める。 SELECT balance FROM (SELECT @row_num…

ActiveRecordのgroupクエリの結果の件数取得、count vs size vs length添え

ActiveRecordでgroupクエリの結果の件数をスマートに取得したいだけ。 SELECT COUNT(*) FROM ( SELECT "users"."id" FROM "users" INNER JOIN "posts" ON "posts"."user_id" = "users"."id" GROUP BY "users"."id" HAVING (count(1) > 5) ) 前提: count vs s…

TreasureData (Presto) で複数行をまとめて1行に集約

Oracle の LISTAGG, MySQL の GROUP_CONCAT みたいなことを TreasureData (Presto) でやりたい。 答え array_join と array_agg を組み合わせることで実現できる。 6.15. Array Functions and Operators — Presto 0.195 Documentation 例 employee : departm…

IN句の検索リストに列名を指定する

SQL

SQLのIN句の説明や実際の使用例を見ていると[列名] IN ([検索リスト])という記述が多い。しかし、検索値をIN句の前に持ってきて列名を列挙することもできる。 [検索値] IN ([列名リスト])この用法は、類似する情報を複数のカラムで持つような場合に使える。 …

sum (case when ~)で異なる条件の集計をまとめて取得する

SQL

既存システムに参照だけのview(画面、帳票)を追加。項目ごとの表示桁数はフォントや枠サイズを基準に定められたが、現行でその桁数を超えるデータがどれだけあるのかわからないというので調査することになった。(順序が逆な気がするが)やりたいこと表示…