2020年2月5日のブックマーク (2件)

  • 歯抜けになっているデータを埋めて取得する方法 - Qiita

    ※3/3, 3/4, 3/6, 3/9~ は売上データが無いが出力されて欲しい 実装方針 案1 3月1日~3月31日までのデータを生成する(以降、日付マスタと記載します) 日付マスタ LEFT JOIN 売上データ で、売上データのない日の売上はゼロにする 案2 案1の1.と同様の日付マスタを生成する 日付マスタをベースに「日付, 売上額ゼロ」でサブクエリを生成し、売上データとの和集合(UNION ALL)を取る 2.の結果を日付で集約し、売上額の合計(SUM)を取る 実装コード SQLServer2014で確認しています。 SELECT INTO で一時テーブルを作成する箇所やVALUES句などがMSSQL固有の書き方かも知れませんが、 考え方自体はどのRDBでも利用できると思います。 使用する売上データと日付マスタの定義 -- 集約済みの売上データ SELECT CAST(salesd

    歯抜けになっているデータを埋めて取得する方法 - Qiita
    Muskie
    Muskie 2020/02/05
  • SQL だけで100万行 のテストデータを用意する方法 - Qiita

    軽量プログラミング言語を使ってデータ生成してもいいのだけど接続情報書くのが面倒なので SQL だけでサクッとやりたい。そんなときは SQL の直積を利用すると楽である。今回動作検証に用いた環境は Mac に入っている MySQL 5.6.13。 準備 まずはテーブルの作成とデータ生成のためのデータ用意。 用意するものは0から9の数字が入ったテーブル1つだけ。 CREATE TABLE digit(num integer); INSERT INTO digit VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);

    SQL だけで100万行 のテストデータを用意する方法 - Qiita
    Muskie
    Muskie 2020/02/05
    “ ORDER BY num );”