根据两列删除重复项

2024-03-29

我有这张表,我想要一个 SELECT 来排除标记的行。一般规则是:

  • 如果有两行或多行的 controlname AND Brandname AND grouptypes 列相等
  • 然后保留组名不是“Keine Zuordnung”的行。
CONTROLNAME   BRANDNAME   GROUPTYPES    GROUPNAME
ECU           AUDI        VERNETZER         1
ECU           AUDI        VERNETZER     Keine zuordnung    <--THIS
ECU           AUDI        FUSI          Keine zuordnung    <--THIS
ECU           AUDI        FUSI              2
ECU2          AUDI        FACHANWENDER  Keine zuordnung
ECU3          AUDI        FACHANWENDER  Keine zuordnung

我可以帮忙吗? 谢谢你!


这是一种方法:

select t.*
from (select t.*,
             count(*) over (partition by  controlname, brandname, grouptypes) as cnt
      from t
     ) t
where cnt = 1 or groupname <> 'Keine Zuordnung';

它使用窗口函数来获取计数,然后where为了你的逻辑。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据两列删除重复项 的相关文章

随机推荐