sql >> Database >  >> RDS >> Sqlserver

SQL Hoe de SUM van kolom over groep in dezelfde tabel te updaten

Ervan uitgaande dat je SQL Server gebruikt, denk ik dat je zoiets als dit wilt:

WITH toupdate AS
     (SELECT team, year, 
             Sum(personsales) OVER (partition BY team, year) AS newTeamSales 
      FROM salessummary
     ) 
UPDATE toupdate 
   SET teamsales = newteamsales; 

Uw oorspronkelijke zoekopdracht heeft verschillende problemen en verdachte constructies. Ten eerste kan een aggregatiesubquery niet worden bijgewerkt. Ten tweede doe je een aggregatie en het gebruik van een vensterfunctie met, hoewel toegestaan, is ongebruikelijk. Ten derde aggregeert u door PersonSales en het nemen van de sum() . Nogmaals, toegestaan, maar ongebruikelijk.



  1. Hoe geef ik elke geregistreerde gebruiker zijn eigen url met behulp van PHP?

  2. Hoe overervingsmodellering toepassen in relationele databases?

  3. Is het hebben van een 'OF' in een INNER JOIN-conditie een slecht idee?

  4. ExecuteBatch-methode retourneert array met waarde -2 in java