sql関連めも

side menu

  • めも一覧

  • GD 関連

    • GDによる画像読み書き簡易化関数の作成
    • GD 利用、bitmap 形式画像の読み書き
    • カウントダウン日数画像出力ソース配布と設置解説
  • SQL関連一覧

    • MySQLでの日付期間比較
    • SQLiteでの日付期間比較
    • SQLiteでの連続日付view作成=カレンダーテーブル
    • SQLiteでの曜日計算
    • MySQLでヒストグラム作成
    • 入れ子集合モデルでサイトマップ by SQLite
    • 入れ子集合モデルでサイトマップ by MySQL
    • ランク付け:by MySQL
    • 抜けデータ補完:by MySQL
    • カンマ区切りデータ:by MySQL
    • row_number関数を利用して当番表作成:by MySQL8,mariaDB10
    • window関数解説:by MySQL8,mariaDB10
  • その他

    • phpによる月齢計算クラス
  • miztools のサイトマップ
     このサイトのrss
    miztools の更新履歴

SQL関連めも

SQL文に関するtipsがいくつかたまったので、まとめのページをおきます。
「」付きのリンクは、外部の参考サイトです。

  • MySQLでの日付期間比較

    日付や時刻で、開始と終了の期間で比較したいとき、4つの日付時刻値をどう比較するかの考え方を記録しておくことにしました。
    MySQLにはきっちりと書式の決まったカラム型があるけど、入力や比較時に自動変換があるので、「MySQLの日付比較:比較対象のカラムは型を意識しなければならない。」なども、ご参考ください。

  • SQLiteでの日付期間比較

    日付や時刻で、開始と終了の期間で比較したいとき、4つの日付時刻値をどう比較するかの考え方を記録しておくことにしました。
    また、こちらのページではSQLiteでの日付時刻データの扱い方も紹介しています。 関数記述については、「SQLiteの日付時刻関数」などを御参考ください。

  • SQLiteでの連続日付view作成=カレンダーテーブル

    日付でデータを集計すると、通常は、データの存在する日付しか取得表示出来ないが、 連続日付で表にしたい場合、view を作って、取得データテーブルと結合するとよい。 SQLiteでのSQL文記述法を紹介。

  • SQLiteでの曜日計算

    SQLiteにおいては、日付時刻関連関数は限られており、曜日を得るには、 strftime("%w", 日付文字列 ) で数値を得るしかないので、 さらに日本語の漢字表記や英字3文字略号に変換する書式や、 ある期間に含まれる特定曜日の判定などの方法を紹介する。

  • MySQLでヒストグラム作成

    MySQLには、ヒストグラム作成関数はないので、ヒストグラムにするための範囲データをテーブルに作成して、集計する方法を紹介。 また、クロス集計をprocedureで行う方法も紹介する。

  • 入れ子集合モデルでサイトマップ by SQLite

    サイトマップに必要なテーブル構成と、ツリー構造実現に、入れ子区間モデルを使った場合のSQLiteでの構文紹介。
    参考文献
    「SQLで木と階層構造のデータを扱う(1)―― 入れ子集合モデル」主にoracleでの構文紹介。
    「SQLで木構造を扱う~入れ子区間モデル」に区間値を実数で扱う方法が紹介されている。SQL構文は標準SQLでの記述。

  • 入れ子集合モデルでサイトマップ by MySQL

    サイトマップに必要なテーブル構成と、ツリー構造実現に、入れ子区間モデルを使った場合のMySQLでの構文紹介。
    参考文献は同上と、
    「階層化されたデータを MySQLで扱う(Managing Hierarchical Data in MySQL)」 前半に隣接モデル、後半2/3は、nest setの解説がある。

  • ランク付け by MySQL

    MySQLにはランク関数がないので、ランク付けのために必要なSQL文を概観してみた。 自己結合 left join を使う場合と、相関サブクエリを使う場合とを、explain での結果とともに提示してみた。

  • 抜けデータ補完 by MySQL

    日付や連番データで、抜けのある行を補完する方法。 通常、連番テーブルや、連続日付テーブルを別に用意することになるが、0から9の10行のみの数値テーブルがあればかなり柔軟に対応できる。

  • カンマ区切りデータを使いやすくする:by MySQL

    カラム値を「カンマ区切りデータ」にしてしまった場合いろいろと集計しにくいので、対処法を考えてみた。テーブル変更方法と、変更後データをどのように集計表示するかを示してみた。

    • 1:分解して、正規化テーブルを作る
    • 2:カラム型を set 型に変更する


[設置日 2015-05-02] → land.to へ移動 [2018-02-12]
[最終更新日 2018-10-13]

| ページtopへ | miztools top | site map | cake.org