如何用sql实现将一张表中的某个字段把17个地市均匀的更新到该字段的300多条数据中
假设该表为table,字段为field,地市有17个,则可以按照以下步骤操作:
- 查询表中数据的总数count,计算每个地市应该更新的数量num:num = count / 17
- 通过循环遍历17个地市,依次按照num数量将该地市的数据更新到table表中的field字段。可以使用如下SQL语句:
UPDATE table SET field = '地市名称' WHERE id IN (SELECT id FROM table WHERE field IS NULL LIMIT num)
其中,'地市名称'为当前遍历到的地市名称,num为该地市应该更新的数量,id为表中的主键字段。
- 循环完成后,再单独更新剩余的数据,以保证所有数据都被更新到。可以使用如下SQL语句:
UPDATE table SET field = '地市名称' WHERE field IS NULL
其中,'地市名称'为任意一个地市名称,用于保证所有数据都被更新到。
通过以上步骤,即可实现将一张表中的某个字段把17个地市均匀的更新到该字段的300多条数据中。
原文地址: https://www.cveoy.top/t/topic/w66 著作权归作者所有。请勿转载和采集!