目录

需要解决的问题

处理步骤

需要解决的问题

从数据库表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。

完成。