はじめに
DB操作で有名なgrouping。実は奥が深いかも?って感じたので
まとめてみる。私的なメモな感じです。
groupingって?
ではそもそもgrouingって何?
グルーピングは、SQLとかDB操作のプログラミングにおけるメソッドのうちの一つ。
簡単に言うと文字から推測できるようにグループにすることを指す。表現を変えると組み分けともいえる。
リンゴ、みかん、ほうれん草、ニンジン、イチゴ と食べ物があった場合
野菜:ほうれん草、にんじん
果物:りんご、みかん、イチゴ
にわけグループで考えていくことを指している。
応用例?
自分なりにこれもグルーピング?の応用で使えるかなぁと思ったことを記載してみる。
例えば、小数点以下を含む数字の場合
5.5 5.6 5.9 6.1 7.8
と数字があった場合、床関数(Or 天井関数) で処理すると
⌊ 5,5 ⌋ = 5 → 5 のグループへ寄せらせる
⌊ 5,6 ⌋ = 5 → 5 のグループへ寄せらせる
⌊ 5,9 ⌋ = 5 → 5 のグループへ寄せらせる
⌊ 6,1 ⌋ = 6 → 6 のグループへ寄せらせる
⌊ 7,8 ⌋ = 7 → 7 のグループへ寄せらせる
と各数値が各数値のグループへと組み分けされた。ちなみに、四捨五入も丸め誤差も切り捨ても同じ操作になると感じている。整数値からはみ出したものを寄せることで処理できるグルーピング操作の一種の側面を持つ。
また文字列のひらがなから漢字へ変換についても同じような印象を受ける。
わたし は いぬ
私 は 犬
ひらがなの"わたし"は、漢字の"私"へとグループ(まとめられ)に変換され、ひらがなのいぬは漢字での"犬"にグループ(まとめられ)に変換される。
ちょっと遊んで試しに、”試験”を例にとって配列化してみると、
し け ん
試1 [0][0] [0][1] [0][2]
験1 [1][0] [1][1] [1][2]
験2 [2][0] [2][1] [2][2]
漢字の”験”は、ひらがなの数に合わせるため2個に分解してみた。
ひらがなと漢字両方を使い分ける日本語ならではの世界観かも。
漢字をふりがなに分解することで、集合における全体と要素の関係になる。
(文字列における切り捨てや四捨五入みたいな操作があるとおもろくなるのかも。)
何か応用できたら面白いな。