★禁煙日記
【禁煙一日目】
何となくすることがないので、とりあえず禁煙してみることにした。
たばこやめると、ご飯がおいしいらしい。
最近、禁煙のマンションとか、禁煙の居酒屋まであるらしい。
昨日、「バタフライエフェクト」(http://www.butterflyeffect.jp/ )という映画をみた(面白かった)のだが
今を変えようと過去に遡ってある時点の行動をみなおすという内容なのだが、結構お勧めの映画である。
その中でお母さんがたばこを吸うような未来になってて肺がんになってるシーンがあったので、禁煙しようと思った。ただそれだけ。 馬鹿やん。
★ハニー!スラッシュ!!
みんなは・to_date~って知っとる?
英語の問題やないっちゃけんね。 まさかとは思うけど、{○○ちゃんと~へデートに行く。}っち即効で訳した人おらんね?
それ、英語的にも間違っとるよ。
それにしても英語じゃ、デートするって何て言うんやろうね。分かる人おる?
それじゃぁ来週も一緒にシャベリオ~ネ~!
っち、終わったらいかんちゃ。思わず終わるとこやったわ。山の手線乗ってなかったらこんな洒落たオチ言えんかったっちゃ。
本題は、俺のまた失敗談なんよね。
エクセルに書いてあるデータを1行1行UPDATE文を作っていこうとしてたときのこと。
エクセルに
A 20051016 5
B 20051024 2
みたいに日付けのデータがあったんよね。
今まで、SQL書くときには、to_date(2005/10/16,'YYYY/MM/DD')という形で書きなさいって
おしられとったけん、今回もそれしかないとおもいこんで、エクセル上で一個一個
2005/10/16
みたいに手で修正していきよったんよね。
しかも30分くらいこの作業。
そしたら先輩が、
「なんばしよっと? TO_DATEのフォーマットのほう変えればいいじゃん」
げな。
俺はTO_DATEっちいうのはおまじないみたいなもんで、本当の意味理解してなかったみたい。。。
あのJAVAとかのstring() argusみたいなおまじない。
あれの解説してくれる先生すくないっちゃね。(本当は先生もわかっとらんのばい!)
ちゅ~ことで今日も1つ偉くなったこうちゃんまんでした!
それじゃぁ来週も一緒にシャベリオ~ネ~!
★インリン・オブ・ジョイトイ
先日、JOINのお話をしましたが
JOINの名称にかけて、インリンオブJOUINトイというニックネームをつけてSQLを書いてました。
(馬鹿なのでダジャレを言いながら作業しないと落ち着かない)
んで、SPOOL inrin.csv っていう形でお客さん提示用のCSVファイルを作ったんだけど
当然ファイル名は「inrin.csv」になってるからファイル名を変更して、お客さんにメールしたんだけど、
ある人から「こうちゃんまん~、シート名がinrinになってますよ~」。。。。。あ・・・・
やってしまいました。マイケルソフトのおしゃれな演出で、シート名もinrinにしてくれるのね。。。。
思わずその場でM字開脚!
o
/ M \
★JOIN って、目次にない!んだっけ?
あのさ~、俺さ~、結構1つのパターン覚えたらずっとそれを使おうとするクセがあるんよね。
例えばさ~、英語の授業で、新しい単語を習うやん。それを一日中友達に言うんよね。
映画見終わった後も、ずっとセリフいったりするけんね。
”Expect PARTOLLORNUM(エクスペクト、パトローナーム!!)” 映画「ハリーポッター」より
んでね、ここから本題ね。
このまえさ、DISTINCT習ったやん。あとMAX関数とかも習ったの。偉大な先輩に。
んでね、この前あるSQL書こうとしたときに先輩からアドバイスもらってさ。
「それはJOINすればいいよ。」 って。
おお。新しい単語でてきたやんっ。っちさぁ、考えるやん、普通。普通やないけん、こんなブログつけよるっちゃけどね。(それは言わん約束やろうも!馬鹿チンが!)
んでね、俺、今まで新しいSQLコマンドとか習ったらORACLEの本の目次(後ろの索引)でしらべよったんよね。(しかもこの本はさ、もう入社して長い先輩としてもう要らんと思って、一回後輩にあげたんやけどね。また取り返しとるっちゃ!馬鹿やろ?おれっち。)
んでね、そんな俺やけ、JOINも索引つかって調べようとしてしまったっちゃ!!
ここで笑えん人は俺と一緒やけね。
しかもJの索引を調べるときに、ABC♪の歌を頭の中で歌いよるんちゃね。これまた馬鹿やろ?
普通ならこんな失敗談は、自分から言わんばい!
でも自分から言うのが福岡の男っちゃ。九州男児っちゃね。憎めんやろ?
山笠あるけん、博多たい!
★group by すげ~
今日はGROUP BYの話。
みんなは件数かぞえるときどうする?
やまちゃんはエクセルで数えちゃいます~。てへっ(^^)
なんだGROUP BYを使えばいいじゃん。
ID fruitname
10 ・りんご
10 ・みかん
10 ・りんご
20 ・なし
という列があったとします。IDごとにの人がりんごをもってる数が知りたい場合、エクセルには貼り付けずに
select id,count(*) from table where fruitname ='りんご' group by ID;
おお!求めていた結果が一瞬で出るではないか!
10,2個
普通に日別のエラー数とか簡単に出せますね。
ぷげらっちょ!
★SQL:distinct excelでサマリしなくていい話
記念すべき最初の投稿です。
最初はDISTINCTの話から。
以下のような列があったとします。
・りんご
・みかん
・みかん
・りんご
・洋なし
これをリストにするため、こうちゃんは全レコードを抜いてエクセルに貼り付けてマージをしようとしていました~。そこで神の一言。
【DISTINCTを使いなさい】
そう、構文は以下の通り
select distinct カラム名
from テーブル名;
あれ~不思議!結果がちゃんと
・りんご
・みかん
・洋なし
と表示されるじゃないかーーー!
エクセル作業・・・1H
このDISTINCT・・・10秒 OTL
★パイポ パイポ
このブログのアカウント名でもある”パイポパイポ”。
今回はその由来と便利な手法をお教えしよう。
お客さんにデータを提示するので、DBの値をなにかしらのファイルにしたいな~と思いました。
spoolなら知ってるんですけど、あとでTexteditorとかで開いてもなんとも編集しにくい。。。というか編集できない。
そこで知っておくべきなのは魔法のコマンド”パイポパイポ!”
例)お客さんからりんごを食べた人のデータをとってエクセルにして報告して~。といわれた場合。
食管理テーブル:
イーター 食べ物種別 食べ済みフラグ
-------------------------------------------------------------
太郎君 りんご 0
次郎君 みかん 1
もんちゃん りんご 1
もす君 りんご 1
さ~公開しちゃいますよ~!魔法のパイポパイポコマンド!
心の準備はいい~ですか~っぁ?
お~け~ぃ!!
spool result.csv
select イーター||','||食べ物種別||','||食べ済みフラグ
from 食管理テーブル
where 食べ物種別=りんご and 食べ済みフラグ=1;
spool off
【結果ファイル】
もんちゃん、りんご、1
もす君、りんご、1
これをエクセルで開けばCSVやけん、簡単やんっ!!
この||','||これの||の部分がパイポみたいでしょ?
だから二個連続しているから、パイポ パイポ みたいな読み方をするわけ。
結構みんなパイポパイポって呼んでるわけ。
パイプって呼んでる邪道なやつもいるけどね。そんなやから達は無視なわけ。
わたしはこれでSPOOLやめました。
ってゆうジョークも言うような雰囲気になるわけ。


