1.开发中遇到个奇葩的问题,貌似数学集合的问题,纠结了半天后来解决。
1.1业务场景A主题表,一个主题有多个关键字,假设A表有一个主题主题人类,关键字为猩猩,猴子。B表为命中表,如一条记录命中关键字猩猩,一条记录命中猴子。
2为了统计主题,所以将主题拆分为一个主题对顶多条数据,以关键字拆分。
统计主题信息量:
SELECT t.`id`,t.`name`, i.`id`,COUNT(1) FROM theme t LEFT JOIN info i ON INSTR(i.`key_word`, t.`key_word`) GROUP BY t.id
问题来了:总计有3条数据,但是统计处理5条,命中多个关键字的信息被重复统计了,应过滤使用distinct