私は、日付範囲の値を含むテーブル(mySQL 5.0.x)を持っています。
- IDレコード
- LINK_IDのIDが他のテーブルに
- TYPE_IDデータをリンクするための値のタイプを決定するためである
| id | link_id | type_id | value | start | end | ==================================================== | 1 | 1 | 1 | 10 | 201111 | 201202 | | 2 | 1 | 2 | 20 | 201110 | 201201 | | 3 | 1 | 1 | 100 | 201202 | 201202 | | 4 | 2 | 1 | 40 | 201202 | 201203 |
他のテーブルから
- 値が
- 開始と終了範囲(年と月の実際の日付または整数)を定義する数値 ある
トリックは、私がのタイプとリンクあたり合計値を提示する必要があるということです毎月の所定の期間。私はデータベースにこのような情報を入れるためにPHPを使用することができますが、いくつかの欠点がある
| period | link_id | type_id | value |
======================================
| 201201 | 1 | 1 | 10 |
| 201202 | 1 | 1 | 110 |
| 201201 | 1 | 2 | 20 |
| 201201 | 2 | NULL | NULL |
| 201202 | 2 | 1 | 40 |
:201202 - だから、結果が範囲201201のために、このようにする必要があります。私は何百ものlink_ids、多くのtype_idを持っており、開始日と終了日の平均の差は30ヶ月なので、たくさんの行があります。
開始日と終了日の保存方法は、DATEフィールドですか? – vulkanino
それは解決策によって異なります。何らかの種類の日付または6桁の整数にすることができます。いくつかのmysql _PERIOD_関数のために6桁の整数を使用しましたが、必須ではありません。 – Peter