row_number()を使ってMySQLで同じ行ごとに結合する Feb 8, 2022 MySQLで同じ行ごとに結合する SQLで同じ行ごとに結合することはできない。INNER JOIN, LEFT JOINなら結合カラムを指定するし、指定しないでC
データベースで日時を保存するカラムの命名ルール Sep 29, 2021 データベースで日時を保存するカラムの命名ルールを検討する created_at データベースで日時を保存するカラムの命名ルールを考える。 調査前、created_a
シェルスクリプトでSQLのJOIN結合やGROUP BYを実現する Jan 15, 2017 はじめに シェルスクリプトでSQLのJOINを実現する方法について、王道のjoinコマンドと、awkを使った方法をそれぞれ考えてみる。 またSQ
DISTINCTを高速化するにはEXISTSを使う Jul 16, 2015 big_tableに記録されているmaster_idの一覧を表示する場合、単純にマスタと結合してDISTINCTをつけると、big_tabl
SQLで半角文字を1文字、全角文字を2文字として文字数を算出する方法 Jun 13, 2015 PostgreSQLで文字数を半角文字基準で算出する。 処理内容 1.正規表現を使用して、半角カナを_に変換 2.任意の1バイト文字(半角空白から
EXISTS句をORでつなげるべきではない Jun 13, 2015 メインテーブルがかなり大きく、EXISTSの中のテーブルがかなり小さく絞れる場合、EXISTS一つだけであればメインテーブルとの結合に変換さ
INDEXでorder by付のSQLを高速化する Apr 1, 2015 INDEXが使われない例 以下のような一見普通の条件の時でも、単純にWHERE句の項目にINDEXをつけても使われないことがある。 100件を上
データがないときだけINSERTする方法 Jul 6, 2014 UK違反でエラーになると困るケース 主キーやユニークキーを付けていれば、重複したデータをINSERTしようとするとエラーが発生する。 特に以下の
SELECT件数を制限してもいい場合のパフォーマンスチューニング Jul 6, 2014 LIMITとGROUP BY / DISTINCT 画面に出すデータ件数が100件だけでいい場合は、LIMIT 100 (OFFSET 0)を使えばいい。 ただLIMITはGROUP BYや
同じIDに紐づくデータのうち、ある項目が最大のデータをSELECTする方法 Jul 6, 2014 一つのテーブル内で履歴を刻んでいる場合、同じIDだが子番号や日付が違うデータが存在することになる。 最大のデータを取得するには、サブクエリを利