我想要跟踪用户购买某项商品的次数。我的item表当前如下所示:
ID | NAME | USER_ID |
1 | bread | 1 |
2 | milk | 1 |
3 | bread | 2 |记录购买物品的推荐方式是什么?我只是简单地添加一个counter列,并在每次购买商品时增加价值吗?
ID | NAME | USER_ID | COUNTER |
1 | bread | 1 | 5 |
2 | milk | 1 | 1 |
3 | bread | 2 | 3 |发布于 2012-12-31 05:08:47
如果你所需要知道的就是计数,那么一定要这样做。一些应用程序可能需要另一个列出每个“购买”的表,例如,为了能够知道每件商品何时被购买(以防用户多次购买同一件商品)。
另外,该表不应该被命名为user_item或其他名称吗?item这个名字让我想到了一个表,它包含每种类型的项目(面包、牛奶)的信息,与用户无关。
发布于 2012-12-31 05:20:20
我建议在购买更多产品时插入新的行,而不是更新产品的计数器。
PID | NAME | CREATED_ON
1 | bread | 05-12-2012 9:45 AM
2 | milk | 05-12-2012 11:09 AM
ID | PID | USER_ID | CREATED_ON
1 | 1 | 1 | 31-12-2012 10:05 AM
2 | 2 | 1 | 31-12-2012 10:05 AM
3 | 1 | 2 | 31-12-2012 11:05 AM为什么?
发布于 2012-12-31 05:18:53
我会考虑将它拆分为两个表: item和purchase
项目:
ID | NAME |
1 | bread |
2 | milk | 购买:
ID | ITEM_ID | USER_ID |
1 | 1 | 1 |
2 | 2 | 1 |
3 | 1 | 2 |以及特定用户购买每件商品的数量(查找用户#1购买的“牛奶”数量):
select count(*) from purchase where USER_ID = 1 and ITEM_ID = 2https://stackoverflow.com/questions/14094658
复制相似问题