【发布时间】:2015-01-02 11:34:39
【问题描述】:
假设我有一张表,名为tablex,如下:
name|year
---------
Bob | 2010
Mary| 2011
Sam | 2012
Mary| 2012
Bob | 2013
名字最多出现两次。我只想从表中删除那些重复且相差一年的名称(在这种情况下,我想保留新的一年)。
name|year
---------
Bob | 2010
Sam | 2012
Mary| 2012
Bob | 2013
我试过了:
SELECT a.Name, a.Year, b.Year
FROM tablex AS a
LEFT JOIN tablex AS b
ON a.Name=b.Name AND (a.Year=b.Year OR b.Year-a.Year=1)
ORDER BY a.Name, a.Year
结果:
Name YearA YearB
1 Bob 2010 2010
2 Bob 2013 2013
3 Mary 2011 2011
4 Mary 2011 2012
5 Mary 2012 2012
6 Sam 2012 2012
Bob 和 Sam 的条目是正确的,我该如何进一步限制它只包含 Mary 2012 2012?
【问题讨论】:
-
从问题中不清楚是要
SELECT(抑制重复)还是实际上DELETE“重复”。 -
我想要的是
SELECT。