2012-11-24 155 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);