2015-02-11 48 views
0

假設我有如下表:查詢刪除重複的行,但具有不同的列?

+---------+------------+----------------+------------+-----------+------------+-----------------+ 
| id  | id_2  | title   | year  | overview | rating | link   | 
+---------+------------+----------------+------------+-----------+------------+-----------------+ 
| 000001 | 23306 | movie title 2 | 2008  | ...... |  1.0 | ...   | 
| 000002 | 23301 | movie title 2 | 2008  | ...... |  1.0 | ...   | 
| 000003 | 24567 | movie title 2 | 2000  | ...... |  1.0 | ...   | 
| 000004 | 20022 | title 100  | 2006  | ...... |  1.0 | ...   | 

正如你所看到的,符合下列條件:

  • 前三行具有相同的標題。
  • 雖然第2具有相同的標題,第三行有不同的年份

我試圖構建一個將擺脫重複的標題行的查詢,但保留該行最高​​數。另外,我想保留具有相同標題但不同年份的行。

到目前爲止,我已經試過這樣:

SELECT DISTINCT id, id_2, title, year 
FROM table 
ORDER BY id_2 

但沒有奏效。有沒有人偶然知道我應該如何做這個查詢?或者如果我需要做更多的工作才能實現這個目標?對不起,我很少了解SQL。謝謝!

+0

在重複問題中使用其中一種解決方案,使用'GROUP BY title,year' – Barmar 2015-02-11 23:16:08

回答

0

你可以使用Group by

SELECT 
title 
, year 
, max(id_2) id_2 
, max(id_1) id_1 
from table 
group by title, year 

你沒有指定一個邏輯id_1所以我估計最大的副本集。

相關問題