最近在做毕业设计,是一个多人论坛项目,查询文章列表的时候要五张表一起查询。。。
然后发现页面上有一条数据没有显示出来。。。就看了半天是不是SQL的Join和Where是不是写错了。。。
然后发现查询已经出来了十条数据,但是有几条是重复的,因为文章和标签是多对多的关系,所以连接条件不是唯一的,就会出现很多重复数据,也就是网上说的笛卡尔积,于是我GROUP BY了一下。。。结果。。。
谷歌了一下,说是Mysql8的限制,only_full_group_by,如果在select 中的列,没有在group by 中出现,那么这个SQL是不合法的
那几列不一样数据的也Group By了那我还分个屁的重复数据。。。然后用了MySQL中的GROUP_CONCAT函数,但是这样的话myabtis就不能自动注入到实体类了。。。
最后还是决定先查出没有标签的list,然后java遍历list再查一次数据。