如何将“n”个列或行相加

时间:2012-11-24 08:25:58

标签: php

  • 每个用户必须每月填写一些参数。
  • 需要补充的参数数量因用户而异 每个用户都可以添加一个新参数(但是他们无法删除现有的参数 如果他们已经填写了值,那就是。 EX user_1 有: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 |

如何考虑桌面结构的最佳选择,如何计算每个用户的参数总和?

1 个答案:

答案 0 :(得分:3)

我认为第二种方法最适合您的情况,因为在这种情况下,您不会浪费任何内存,将来如果您必须扩展数据库,那么它也不需要对数据库进行任何重大更改。

现在是求和参数的第二个问题,然后您可以通过其user_id获取特定用户的所有记录,然后添加所有这些值

您可以按照以下方式编写查询

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