sql >> Database >  >> RDS >> Sqlserver

SQL - Vervang herhaalde rijen door null-waarden met behoud van het aantal rijen

Dit doe je door de rijen binnen een jaar op te sommen. Update dan alles behalve de eerste:

with toupdate as (
      select t.*, row_number() over (partition by [year] order by [date]) as seqnum
      from t
     )
update toupdate
    set [year] = NULL
    where seqnum > 1;

Als je dit wilt als een select verklaring:

with ts as (
      select t.*, row_number() over (partition by [year] order by [date]) as seqnum
      from t
     )
select [date],
       (case when seqnum = 1 then [year] end) as [year]
from ts;



  1. UTF-8 met mysql en php in freebsd Zweedse tekens (åäö)

  2. MySQL-werkbank :Hoe een mysql-database exporteren naar een .sql-bestand?

  3. sqlalchemy.orm.exc.FlushError:instantie heeft een NULL-identiteitssleutel

  4. Hoe Round() werkt in SQLite