Chciałbym wybrać rekordy z tabeli lub wstawić je do nowej pustej tabeli, w której wiele kolumn jest takich samych, jak inny rekord w bazie danych. Problem jest podobny do tego pytania. Find duplicate records in MySQL Jednak to tylko porównuje jedną kolumnę. Ponadto jedna z moich kolumn, powiedzmy kolumna C w poniższym przykładzie, jest liczbą całkowitą. Podobnie jak pytanie w powyższym linku, chcę, aby każdy z wierszy został zwrócony. Na szczęście nie jestem dostatecznie zaznajomiony z tym, jak łączą się prace, aby samodzielnie to zrozumieć. Wiem, że poniższy kod nie przypomina w rzeczywistości rzeczywistego kodu SQL, jest to najczystszy sposób, w jaki mogę opisać porównania, które próbuję uzyskać.Wybieranie rekordów MySQL dla duplikatów przy użyciu wielu kolumn
SELECT ColumnE, ColumnA, ColumnB, ColumnC from table where (
Row1.ColumnA = Row2.ColumnA &&
Row1.ColumnB = Row2.ColumnB &&
Row1.ColumnC = Row2.ColumnC
)
Każda pomoc będzie mile widziane, wszystkie „Wybierz duplikaty z MySQL” pytania widziałem używać tylko jedną kolumnę jako porównanie.
Excellant odpowiedź, jak zwykle, ale ostatni Przykładem mogą być zapisane w MySQL "null-safe" równa operatora: 'na t.ColumnA <=> tsum.ColumnA i t.ColumnB <=> tsum.ColumnB and t.ColumnC <=> tsum.ColumnC' –
Ta odpowiedź wydaje się działać, ale liczba zwrotów jest dużo inna niż oczekiwałem. Może trzeba kodować niektóre java, które używa pętli, aby to sprawdzić i dać trochę spokoju. Bardzo dziękuję za formatowanie kodu SQL w ten sposób, z nowymi liniami i wcięciami, to naprawdę pomogło mi zrozumieć, co faktycznie zrobił twój kod! – keepitreall89