最近在做畢業(yè)設(shè)計(jì)盏浙,是一個(gè)多人論壇項(xiàng)目眉睹,查詢文章列表的時(shí)候要五張表一起查詢。废膘。竹海。
五張表的SQL語(yǔ)句
然后發(fā)現(xiàn)頁(yè)面上有一條數(shù)據(jù)沒(méi)有顯示出來(lái)。丐黄。斋配。就看了半天是不是SQL的Join和Where是不是寫(xiě)錯(cuò)了。灌闺。艰争。
查詢結(jié)果
然后發(fā)現(xiàn)查詢已經(jīng)出來(lái)了十條數(shù)據(jù),但是有幾條是重復(fù)的桂对,因?yàn)槲恼潞蜆?biāo)簽是多對(duì)多的關(guān)系甩卓,所以連接條件不是唯一的,就會(huì)出現(xiàn)很多重復(fù)數(shù)據(jù)蕉斜,也就是網(wǎng)上說(shuō)的笛卡爾積逾柿,于是我GROUP BY了一下缀棍。。机错。結(jié)果爬范。。弱匪。
Group By之后報(bào)錯(cuò)
谷歌了一下青瀑,說(shuō)是Mysql8的限制,only_full_group_by痢法,如果在select 中的列狱窘,沒(méi)有在group by 中出現(xiàn),那么這個(gè)SQL是不合法的
那幾列不一樣數(shù)據(jù)的也Group By了那我還分個(gè)屁的重復(fù)數(shù)據(jù)财搁。蘸炸。。然后用了MySQL中的GROUP_CONCAT函數(shù)尖奔,但是這樣的話myabtis就不能自動(dòng)注入到實(shí)體類了搭儒。。提茁。
最后還是決定先查出沒(méi)有標(biāo)簽的list淹禾,然后java遍歷list再查一次數(shù)據(jù)。