仅消除MS Access SQL中数据中的某些重复项

时间:2018-01-29 22:59:59

标签: sql ms-access

我正在使用MS Access 2013,尝试从一组数据中删除某些重复项。我需要优先处理数据,其中"字段5"是" 2"但是,如果没有重复或者#34; 2"我需要将数据保存在字段所在的位置" 1"。

当前状态数据

|Field1 |Field 2| Field 3| Field 4 |Field 5|
|AAA    | BBB   | CCC   | DDD      |1      |
|AAA    | BBB   | CCC   | DDD      |2      |
|III    | JJJ   | KKK   | LLL      |2      |
|XXX    | YYY   | ZZZ   | TTT      |1      |
|MMM    | NNN   | OOO   | PPP      |1      |
|MMM    | NNN   | OOO   | PPP      |1      |

期望状态

|Field1 |Field 2 |Field 3 |Field 4 |Field 5|
|AAA    |BBB     |CCC     | DDD    |2      |
|III    |JJJ     |KKK     | LLL    |2      |
|XXX    |YYY     |ZZZ     | TTT    |1      |
|MMM    |NNN     |OOO     | PPP    |1      |

1 个答案:

答案 0 :(得分:1)

在这种情况下,我认为最简单的方法是条件聚合。对于您的特定数据,这有效:

select field1, field2, field3, field4,
       max(field5) as field5
from t
group by field1, field2, field3, field4;

这不一定是您描述的问题的一般解决方案。但它似乎是您想要用您的数据完成的。例如,假设field5仅采用值12,就像示例数据一样。