2012-11-24 115 views
0
  • 的數量「N」每個用戶必須填寫每個月大量的參數。
  • 需要補充的參數數量因用戶而異,並且每個用戶都可以添加一個新參數(但如果已有值填充,則不能刪除現有的 )。 EXuser_1 has:param_1,param_2; user_2具有:param_1,param_3,param_4等等。如何總結列或行

  • 我必須在用戶級別總結這些參數。

我有兩個問題:

這對錶結構的最佳選擇? 考慮:用戶cah具有的最大參數數量是12;活躍用戶數將達到5000左右(我希望)

  • 獨立列

| user_id |月| param_1 | param_2 | ... | param_12 |

  • 重複行:

    | user_id |月| param_id | param_value |

    | 001 | nov-2012 | param_1 | 100 |

    | 001 | nov-2012 | param_2 | 125 |

    | 002 | nov-2012 | param_1 | 110 |

    | 002 | nov-2012 | param_3 | 150 |

    | 002 | nov-2012 | param_4 | 175 |

以及如何計算每個用戶的參數總和,考慮表結構的最佳選項?

+0

我想到的第二個問題不同的行是最好的選擇,所以你不必擔心不同的用戶參數計數... –

回答

3

我認爲第二個方法是最適合於你的情況,因爲在這種情況下,你不浪費任何記憶和未來,如果您有擴展您的數據庫,然後又何嘗不是需要對數據庫進行任何顯著的變化。

現在總結的參數,那麼你可以通過它的user_id獲取特定用戶的所有記錄,然後添加所有這些值

您可以編寫查詢如下的

$query = "SELECT SUM(param_value) FROM table_name WHERE param_id = $id"; 
mysql_query($query);