ブックマーク / blog.toshimaru.net (2)

  • MySQLで連番の仮想表を作る - Hack Your Design!

    目次 やりたいこと前提環境方法応用編 0からデクリメント値を倍加させる直近30日間の日付をリストアップ注意点やりたいことMySQLで実テーブルを参照せずに連番のデータを生成したい。 前提環境MySQL 5.7方法下記のようなSQLでやりたいことが実現できます。 SELECT @seq_no := 1 AS seq_no UNION SELECT @seq_no := @seq_no + 1 AS seq_no FROM information_schema.COLUMNS LIMIT 10; ポイントとしては下記の通り。 全体の構成としては、2つのSELECT文をUNIONを使って結合しているというもの@seq_noという変数を用意1つ目のSELECT文で変数を初期化する2つ目のSELECT文で初期化した変数のインクリメントの処理を行う その際にデータ件数を確保するために、MySQLで最初

    MySQLで連番の仮想表を作る - Hack Your Design!
    usaku
    usaku 2023/11/27
  • [MySQL]日付が歯抜けのデータを結合して日付毎に整理されたテーブルを作る

    1前提環境MySQL 5.7方法以前紹介した連番の仮想表を作るテクニックを駆使すればやりたいことが実現可能です。 MySQLで連番の仮想表を作る 日付だけのテーブルを作る対象期間、つまり2018年1月1日〜2018年1月10日までのデータを生成します。 SELECT '2018-01-01' + INTERVAL seq_no DAY AS date FROM (SELECT @seq_no := 0 AS seq_no UNION SELECT @seq_no := @seq_no + 1 AS seq_no FROM information_schema.COLUMNS LIMIT 10) tmp;

    [MySQL]日付が歯抜けのデータを結合して日付毎に整理されたテーブルを作る
    usaku
    usaku 2023/11/27
  • 1