現在、私はレポート作成プロジェクトを行っています。私のデータウェアハウスでは、すべての日付(2011年1月1日以降の多分?)を含むディメンション表「時間」が必要で、毎日この形式のyyyy-mm-ddを自動的にインクリメントします。 私はDebianでMySQLを使用しています。あなたはDATEフィールドを追加し、このようなクエリを使用することができます時間ディメンションテーブルを自動的に設定する
答えて
おかげで JT - また
INSERT INTO table(date_column, column1, column2)
VALUES(DATE(NOW()), 'value1', 'value2');
を、あなたは、この場合には日時の値が自動的に更新されます、ON UPDATE CURRENT_TIMESTAMPとTIMESTAMP列を追加することができます。
が提案の数があります。あなたの日付範囲が中程度(おそらく1年または2年)になり、レポートがストアドプロシージャを使用して結果を返すと仮定すると、限界を持つrownumテクニックを使って一時的なテーブルを作成するだけで、範囲内の日付。次に、必要に応じてデータに参加します。
2番目の答えでは、連合のトリックはコメントに応じてうまくいくように思われず、必要な最大範囲まで拡張できます。それは非常に面倒です!
はい、実際に私が本当に必要としているのは12ヶ月以上です。私は、CURDATE()の挿入の簡単なスクリプトを使用し、crontabで実行をスケジュールすることを考えましたが、後者のことにあまり慣れていません。 –
@JıhadV.Tawfiq - 日付を保存する必要はありません。 1,2,3 .... 365の値を持つ 'num'という単一のintカラムを持つ永久テーブルを作成してください。その後、SELECT DATE_ADD(NOW()、INTERVAL -1 * num DAY)AS日付はFRN NewNumberTable WHERE num <365'これをサブクエリとして使用し、レポートの残りのデータに結合します。クエリを実行するたびに、実行時に関係なく、最後の365の日付が表示されます。 – Tobsey
@Tobseyなぜあなたは日付を保存しませんか?ストレージは簡単ですが、照会するのが簡単で、レポートツールはユーザーに実際の日付を提示することができます。 – Pondlife
このarticleは、あなたが望むものをカバーするようです。テーブルに追加する列の別の例については、this questionも参照してください。毎日テーブルを更新するのではなく、あらかじめ大量の日付を生成する必要があります。それは多くの仕事と複雑さを節約します。 100年はわずか36500行で、小さなテーブルです。
レポート・ツールでディメンション表にアクセスできるようにするため、一時表またはプロシージャ・コードはデータ・ウェアハウスにとっては適していません。また、RDBMSにスタースキーマのクエリが最適化されている場合(MySQLがサポートしているかどうかわかりません)、ディメンションも参照する必要があります。
- 1. 現在の時間にランダムシードを自動的に設定する方法は?
- 2. 一定時間後に自動的にボタンをクリックするAndroid
- 3. 毎日固定の時間に自動的にデータベーステーブルを更新するタイマーを設定する方法
- 4. 特定時間にiOSアプリを自動的に開く
- 5. Eclipseを変更する「自動的にビルド」時間間隔?
- 6. カスタムメール設定を自動的に設定する方法
- 7. .XLSMと自動実行時間に設定
- 8. ウェブページから一定時間にデータを自動的にファイルに保存する
- 9. CruiseControlを設定してコードチェック時に自動的にビルドをトリガーする方法
- 10. 時間を自動的にチェックするには?
- 11. HTML。ページロード時にdatetime-local AM/PMを自動的に設定する
- 12. マウスの移動時に自動スクロール位置を設定する
- 13. Twilio:特定の時間より古いメディアリソースを自動的にパージする
- 14. クエリ時間フィールドを自動的にフォーマットするスコープ
- 15. 一定時間が経過すると自動的に次の文に進む
- 16. Asp.Netウェブサイトを自動的に起動するWindows起動時に自動的に
- 17. 変数名を動的に設定するのに適切な時間?
- 18. Retrofit 2 - 異なるエンドポイントに動的キャッシュ時間を設定する方法
- 19. SQL Server:一定時間後にレコードを自動的に削除しますか?
- 20. Windows起動時に自動的に起動するC++プログラムを設定するには?(Windowsサービスソリューションで)
- 21. ng-classは、ページロード時に自動的にCSS設定を置き換えます。
- 22. ページ作成時に "jcr:language"プロパティを自動的に設定できますか?
- 23. 時間の経過後に自動スケーリングのインスタンスを自動的に終了
- 24. 特定の時刻に自動的にデータベースを更新する
- 25. チェックアウトの間に特定のファイルを自動的にクリーニングする
- 26. 自動的にスライドするカルセルを設定する
- 27. コアデータ内で自動的にインクリメントするフィールドを設定する
- 28. datatable:指定時間後の自動リフレッシュ
- 29. 保存時にNHibernateのプロパティが自動的に設定される
- 30. DNSを「プログラムで自動的に取得」に設定する
[MySQLを使用して日付期間を動的に作成する](0120-998-501) –
MySQLで時間ディメンションテーブルを設定する:http ://www.joyofdata.de/blog/setting-up-a-time-dimension-table-in-mysql/ – Raffael