inner join出現重複值

2021-10-07 01:22:10 字數 411 閱讀 7877

比如表a inner join b

on a.id = b.id

假如b存在乙個id對應多條資訊,那麼即使我們在前面select用了distinct id,

這種連線下還是會出現重複的id

1.首先b中含有id的後續資訊如果被我們select了,即使distinct id也沒有用。那麼,需要思考和判斷那些後續資訊是否對我們的工作有用,無用可以直接刪掉不要select,這樣只留下distinct id的資料,明顯不會有重複id

2.如果一定要去除指定的重複id並留下想要的後續資訊,可以使用row_number的三種排序方式留下指定的資料。

3.配合max min進行篩選唯一值,因為最大值最小值一般是唯一的,我們可以通過只留下最大值這種方法使一對多的情況減輕,但有時候這種一對多並不會完全消失,還需要配合使用其他限制條件

mysql關於 inner join 資料重複問題

package表的id對應package product表的package id,並且兩者是一對多的關係,今天想篩選出package表所有id存在於package product表的記錄,第乙個想到的就是join select package.package product.package id f...

list引用出現重複問題

在list中t如果是引用型別,那麼在list.add 中如果不重新new t物件會出現前面的值被覆蓋問題,只有string 型別物件不會被覆蓋 例如 map map new hashmap liststring,object list new arrayliststring,object strin...

C std set 出現重複元素

如題,今天自定義了乙個set的排序函式,重新構造了set,往裡插入元素的時候居然出現了重複元素!首先set的比較函式含義是按照元素的出現頻率比較,高頻率的大於低頻率,如果二者頻率相等,則數值小的大於數值大的。unordered mapump 統計元素頻率 struct cmp setmp void ...