Overblog Folge diesem Blog
Edit post Administration Create my blog
Blog von Olaf Helper

GROUP BY ALL

2. Januar 2009 , Geschrieben von Olaf Helper Veröffentlicht in #T-SQL

Man lernt nie aus, ich zumindest nicht. Und beim Blättern in der BOL bin ich darüber gestolpert, das man bei GROUP BY noch ein ALL angeben kann. Was bewirkt es? Es hebelt sozusagen die WHERE Klausel aus und liefert alle Datensätze, nur die Aggregation wird nur auf die Datensätze angewandt, die der WHERE Klausel entsprechen.

Merkwürdige Option ... und sollte man auch nicht wirklich verwenden, denn: GROUP BY ALL wird in einer zukünftigen Version von Microsoft SQL Server nicht mehr unterstützt.

 

 SELECT O.CustomerID, DATEPART(yyyy, O.DueDate), SUM(O.SubTotal) 
 FROM AdventureWorks.Sales.SalesOrderHeader AS O 
 WHERE DATEPART(yyyy, O.DueDate) = 2004 
 GROUP BY ALL O.CustomerID, DATEPART(yyyy, O.DueDate) 

 

Ergebnis:

  

CustomerID

Year

SubTotal

19956

2002

NULL

15987

2003

NULL

22605

2004

1750,98

269

2002

NULL

29193

2004

49,97

25976

2004

2384,07

25638

2003

NULL

12569

2004

74,98

14530

2004

36,27

21011

2003

NULL

26894

2003

NULL

22972

2003

NULL

17243

2003

NULL

16538

2003

NULL

20460

2003

NULL

26343

2003

NULL

15649

2002

NULL

23476

2004

4,99

Usw…

 

 

 

Diesen Post teilen

Repost 0

Kommentiere diesen Post