GROUP BY og WITH ROLLUP function

GROUP BY er en funktion som bruges til at gruper en række rows som det formenligt også ligger i navnet GROUP BY, men man kan også lave nogle trisk som spare SQL serveren og dig selv for tid, det kan være hvis du eks. Har en række tal du gerne vil ha lagt sammen i en indkøbs kurve så kan GROUP BY benyttes på denne måde.

SELECT sum( shopAntal ) AS TotalAntal, sum( shopPris * shopAntal ) AS TotalPris FROM shop_barsket WHERE userId = ‘brugerid’ GROUP BY userId;

denne SQL ligge alle vare antal og alle priseren sammen til et enklet row udtræk så du ikke skal til at køre en while løkke for at tælle det hele sammen endnu en gang og der efter beregne din data.

Når man kommer til at tælle tal sammen og faktisk ikke gider at lave 2 SQL udtræk kan man gøre det hele meget simplet, for at slippe for 2 SQL udtræk kan man lave et WITH ROLLUP satament som tæller alle ens int værdier sammen og til sidst laver et ekster row udtræk hvor den har indeholder NULL i de steder som ikke er INT værdier eller er regnet sammen.

SELECT SUM( shopAntal ) AS TotalAntal, sum( shopPris * shopAntal ) AS TotalPris FROM shop_barsket WHERE userId = ‘brugerid’ GROUP BY produktId, userId WITH ROLLUP;

Leave a Reply

Your email address will not be published. Required fields are marked *

*