目录
需要解决的问题
处理步骤
需要解决的问题
从数据库表A中拉取一些ID数据,一行ID数据可能包含多个ID(逗号分隔),然后对这些ID进行汇总、去重,并用来从表B中查询数据。
ID数据在表中可能是下面这样的:
ID |
2 |
2,3 |
123,4,3 |
期望得到:"2,3,123,4"(顺序不重要)。然后从表B中根据ID查询数据:
select * from B where id in (2,3,123,4);
处理步骤
1. 从表A中拉取所有的ID,并以逗号分隔
select group_concat(ID) allIds from A;
得到:2,2,3,123,4,3
2. 使用Python去重
## 字符串转list
list = str.split("2,2,3,123,4,3", ",")
## list转set
idSet = set(list)
## 或者字符串直接转set:idSet = set(str.split("2,2,3,123,4,3", ","))
## 统计ID数量
len(idSet)
## set转字符串 / list转字符串
idSetStr = ",".join(s)
得到:2,3,123,4。
完成。