我希望從表中選擇記錄,或將它們插入到一個新的空白表中,其中多個列與數據庫中的另一個記錄相同。問題類似於這個問題。 Find duplicate records in MySQL 但是,只比較一列。另外,我的其中一列,可以說下面的例子中的列C是一個整數。像上面鏈接中的問題一樣,我希望每個行都被返回。不幸的是,我只是不太熟悉加入如何自行解決這個問題。我知道下面的代碼根本不符合實際的SQL代碼需求,它只是我能想到的描述我試圖獲得的比較的最清晰的方式。MySQL選擇使用多列的副本的記錄
SELECT ColumnE, ColumnA, ColumnB, ColumnC from table where (
Row1.ColumnA = Row2.ColumnA &&
Row1.ColumnB = Row2.ColumnB &&
Row1.ColumnC = Row2.ColumnC
)
任何幫助將不勝感激,所有「選擇從MYSQL重複」的問題,我看到只用一列作爲比較。
Excellant答案,像往常一樣,但最後一個例子可以使用MySQL的「空安全」被改寫等於操作:'對t.ColumnA <=> tsum.ColumnA和t.ColumnB <=> tsum.ColumnB和t.ColumnC <=> tsum.ColumnC' – 2013-05-01 23:15:24
這個答案似乎工作,但返回的數量是比我期望的很多不同。可能必須編寫一些用於循環的java來仔細檢查它並給我一些想法。非常感謝您以這種方式格式化您的SQL代碼,使用新行和縮進,它確實幫助我理解您的代碼實際上在做什麼! – keepitreall89 2013-05-02 01:49:29