ardggy's blog

Esc - Meta - Alt - Ctrl - Shift

SQL

ジェネレータとSQL

SQL の結果をなめたいがメモリにぜんぶ展開すると out of memory になりがちなところ、 チャンクを次々とジェネレータで供給するというパターンを思いついた。これならほぼ定数メモリで大量のデータを処理できる。 ジェネレータは Iterator を実装しているの…

グループごとにランダムで1件

SQL

例によって MySQL 限定です。 PostgreSQL でも LIST_AGG とか使えばいけそう? team_players team player red taro red takeshi red maro white daikichi white tsubasa white ninja white takamori 上の red, white 各チームから、ひとり誰でもいいから出て…

【MySQL】カンマ区切りになっているテキストのカラムを縦持ちにする

SQL

MySQL 限定テクニック。 項目がいくつあるか事前にわかっていれば、SUBSTRING_INDEX 関数を使って縦持ちにできる。 項目数が不定だとたぶんつらい。(試してない) 例として、下のテーブル favorites の favorites カラムに、 カンマ区切りで好きな言語が3つ入…