gpt4 book ai didi

mysql - MySql 中对记录进行分组的最佳/正确方法(不是 "Group By")

转载 作者:行者123 更新时间:2023-11-29 13:14:04 25 4
gpt4 key购买 nike

我有一个表,其中包含大量库存编号和一些其他信息。我需要能够创建库存编号组,例如产品 123A、456B 和 789C 均属于同一组。每个库存编号在表中都有自己的记录。我并不关心它是如何完成的,只要我能确保项目被分组并且组号是唯一的。实现这一目标的最佳方法是什么?

我可以想到几种方法来完成此任务,但我不确定最好的方法是什么,或者是否存在隐藏的缺点:

1) 我可以有一个单独的表,其中有一个自动增量列,负责生成组 ID,然后在生成后将 ID 添加到库存编号表中,但这似乎很浪费。

2) 从库存编号表中选择最大 groupId 并向其添加 1 是否可以获取新的组 ID?

3) 我无法在库存编号表中包含 groupId,并使用具有 GroupID 列和 StockNumberId 列的单独表来执行此操作。我仍然如何让 groupId 这样做?

您不必对这三个问题都做出回应。指出哪种方式是最合适的方式,任何有关实现或陷阱的注释都会有所帮助。另外如果还有更好的方法我没列举出来请赐教。谢谢。

最佳答案

如果您只需要为每只股票设置一个groupId,并且每只股票属于一个且仅属于一个组,那么解决方案(2)就可以了。

我还会在 groupId 列上创建一个索引,以便轻松检索属于同一组的股票,并更有效地获取 MAX(groupId)。

如果我还必须存储组信息(例如 groupName 等),我会使用解决方案 (1)。

解决方案 (3) 更倾向于股票和组之间的多对多关系,其中您描述的表位于两者之间。但就您而言,这不是一个好的解决方案。

关于mysql - MySql 中对记录进行分组的最佳/正确方法(不是 "Group By"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21714910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com