Java 对于MYSQL树形结构如何统计各个节点对应的业务数量?-灵析社区

开挂思想家

对于MYSQL树形结构如何统计各个节点对应的业务数量 例如:mysql有id、type、parentId、num字段,type 1、2、3代表省市县,parentId为父级id,num代表各个类型的人口数量,一个市下面有多个县,市的num数量是该市下所有县num数量的和,省也是同理。 如果县人口出现了变化,有什么方案快速高效的更新各个节点的num。 如果人口变动这个业务在代码中各个模块都有涉及,并且还有批量变更和同时变更的情况,要保证数据的一致性该如何设计

阅读量:148

点赞量:0

问AI
是问数据库的设计?还是当县人数发生变化时,如何去统计区/市/省的最新人数? 1、数据库按照当前设计即可,id、type、parentId、num...。县的parentId为区,区的parentId为市,市的parentId为省 2、统计某市或省下最新总人数,可以自己写mysql的函数。传递省市区的id,递归查询增加数量即可 3、为了方便统计,在用户操作层面,不管是批量变更还是同时变更,都应该以 县 为单位。比如,只能修改某省市区下 县的人数,而不能直接修改省市区的人数