假设我有下表:
+---------+------------+----------------+------------+-----------+------------+-----------------+
| 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 | ... |
如您所见,以下情况属实:
我正在尝试构建一个查询,该查询将删除具有重复标题的行,但保留具有最高id_2
个数字的行。另外,我想保留具有相同标题但行年不同的行。
到目前为止,我已经尝试过这个:
SELECT DISTINCT id, id_2, title, year
FROM table
ORDER BY id_2
但那并没有奏效。有谁知道我应该怎么做这个查询?或者,如果我需要做多个以使其工作?抱歉复杂,但我对SQL知之甚少。谢谢!
答案 0 :(得分:0)
您可以使用Group by
SELECT
title
, year
, max(id_2) id_2
, max(id_1) id_1
from table
group by title, year
你没有为id_1
指定逻辑,所以我假设了重复集的最大值。