Life Goes On

まあまあだけど楽しんでる方です

SQL

指定日以前の最新値を取り出す

SQL

sqlである日以前の最新の時の値を取り出す - imHo を見て、書いてみました。 mokehehe さんのとは逆に、日付→残高→口座の順に取得するイメージ。 Oracle だと date は予約語なので名前を変えたり、↓の本の影響で id → account_id としたりしてます。 結合す…

SQL で素数(解決)

SQL

一昨日の件、youz さんに教えていただきました。ありがとうございます。 素数 - * *scrap* なるほど、外部結合する前に絞り込みたいんだったら、ON 句に絞り込み条件を書かなきゃ駄目、ってことですね。絞込み条件なら WHERE 句だろ、って思い込んでました。…

SQL で素数

SQL

素数を求める SQL というのがあります。 SQLで数学パズルを解く(数論編-問題) 念のため再掲すると、↓のように EXISTS を使います。 SELECT N1.num FROM Numbers N1 WHERE NOT EXISTS ( SELECT * FROM Numbers N2 WHERE N2.num > 1 AND N2.num <= N1.num/2 …

今日のコード

// もともとのコード sql.append("SELECT * FROM A WHERE "); // 障害-XXXX対応 以下3行追加 if (hogehoge) { sql.append("0 = 1 "); } :ある条件のときだけ、検索結果を0件にしたかったようです。 まさにパッチと呼ぶに相応しい、最低な継ぎ接ぎコード。 …

MS Accessの最適化のナゾ

SQL

以前、ちょっと遅くて困っていたSQLがありました。 元はこれ。 -- Ver. 1 select id, max(time) from ( select id, time, (select count(*) from log where id = t1.id and time < t1.time) as count, (select count(*) from log where id = t1.id group by …

SQL

これまでの仕事の棚卸しでSQLについて色々見直していたら、こんな本を見つけました。さっそく買ってみたところ、とてもいいです。自分はSQLに関しては"自称"中級者でしたが、かなりアヤシイということが分かりました。達人に学ぶ SQL徹底指南書 (CodeZine BO…

90パーセンタイル値取得

SQL

最近、とあるアプリケーションの性能測定を行っています。 そこで処理時間の90パーセンタイル値をログから取得することにしました。 90パーセンタイル値というのは処理時間の大きい10%のケースを例外として除外し、残りの90%のケースで最大値を求めるもので…