0

MySQL では、日付を列名として設定できますか。
3 週間すべての列名がその週の最初の日付になる、過去 3 週間のデータを含むテーブルを作成することを考えています。
したがって、currante の日付が 2013 年 9 月 25 日である場合、テーブルには、列名が
11-09-2013、28-09-2013、25-09-2013 の 3 つの列が必要です。

4

4 に答える 4

3

もちろん:

mysql> 'foo' を `2013-09-25` として選択します。
+------------+
| | 2013-09-25 |
+------------+
| | ふー |
+------------+
セットで 1 行 (0.00 秒)

-バックティックについて覚えておいてください。

しかし、実際には、良い考えではない動的な列を作成したい場合は、アプリケーションを使用することをお勧めします。

于 2013-09-25T10:28:49.683 に答える
1

可能かもしれませんが、それはひどい、非正規化された、持続不可能な、脳死のデザインだと思います. 要件について何も知らずに、再考することをお勧めします。

于 2013-09-25T10:30:47.867 に答える
0

これを行う正当な理由は何ですか?

データを読みやすくするだけの場合は、必要なレイアウトにデータをフォーマットするレポートを実行することで実現できます。

各エントリに日付タグを付けてデータを保存し、レポート内の 3 週間ブロックで取得します。

その場でテーブルを作成すると、処理に不要なオーバーヘッドが追加され、他のプロセスによるバックアップ、レプリケーション、および取得が複雑になります。

于 2013-09-25T10:39:25.337 に答える
0

表示レイヤーでそれを行います。

として列を選択

if(date=curdate() - interval 1 day, result, null) as today_minus_1,
if(date=curdate() - interval 2 day, result, null) as today_minus_2,
if(date=curdate() - interval 2 day, result, null) as today_minus_3,

その後、表示するときに名前を変更します。キャンペーンのパフォーマンスを比較するために以前にそのようなことをしましたが、日付としての列の命名はデータ テーブルの作成時に行われました。

于 2013-09-25T10:50:19.650 に答える