SQL
リクストされたパスを保存しているログから対象の商品IDを含むレコードを取得したいとする。 例:ログテーブル id path 1 /item_ids=5,10,24&created_at=2023-04-01 2 /item_ids=22,23,98&created_at=2023-04-12 3 /item_ids=25,36&created_at=2023-04-30 4 …
1億件のIoT計測データのデータ移行を行った話。 cronでやることになった背景 cronでデータ移行することになった背景はこんな感じ。 カラム名は仮です。 年ごとの計測テーブルBに保存されている、ある期間の数種類の製品の計測データを、四半期ごとの計測テー…
達人に学ぶSQL徹底指南所の学習記録です。 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ (CodeZine BOOKS)作者:ミック翔泳社Amazon SQLで同一行内の列同士の値を比較するのはWHERE句で記述すればいいだけだが、異なる行を比較するのは工夫…
達人に学ぶSQL徹底指南所の学習記録です。 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ (CodeZine BOOKS)作者:ミック翔泳社Amazon SQLで同一行内の列同士の値を比較するのはWHERE句で記述すればいいだけだが、異なる行を比較するのは工夫…
達人に学ぶSQL徹底指南所の学習記録です。 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ作者:ミック翔泳社Amazon 要点 何を持って集合と見なすかに注目する。 集合の性質を調べるための条件の使い方 COUNT(DISTINCT col) = COUNT(col) :c…
達人に学ぶSQL徹底指南所の学習記録です。 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ作者:ミック翔泳社Amazon データベースにnullが一つでも含まれれば、クエリから正しくない結果が返される可能性がある。 とりあえずこれは覚える! 3…
達人に学ぶSQL徹底指南所の学習記録です。 できること 行間比較において相関サブクエリに頼っていた部分を、ウィンドウ関数で書けるようになる。 手続き型言語において、「順序づけされたレコード集合をfor文やwhile文のループで回してカレントコードを1行ず…
達人に学ぶSQL徹底指南所の学習記録です。 やってること ラベルの読み替えを行なっているだけ。 要点 CASEは「式」だから、列名や定数をかける場所には常にかける 集約関数の中で使うことで、行持ちから列持ちへの水平展開が可能 逆に、集約関数を条件式に組…
前提 テーブル内の全レコード数を取得したかった。 id が PRIMARY キー 途中で DELETE されてるレコードもあるので id が不連続となっている。 そのため、 ORDER BY id DESC LIMIT 1 で id の値がそのままレコード数というわけにもいかなかった。 概要 今ま…
やろうとしたSQL ページネーションを作ろうと思って書いたSQL SELECT * FROM (SELECT * FROM samples WHERE id < 30 ORDER BY id DESC LIMIT 1) UNION ALL SELECT * FROM (SELECT * FROM samples WHERE id >= 30 ORDER BY id ASC LIMIT 6) エラー Every deri…