SQL-Gruppe nach Jahr

7

Dies ist meine Abfrage.

%Vor%

Ich möchte nach dem Jahr der Spalte date (varchar) gruppieren, bekomme jedoch folgenden Fehler:

  

Die Spalte 'shoptransfer.Date' ist in der Auswahlliste ungültig, weil sie weder in einer Aggregatfunktion noch in der GROUP BY-Klausel enthalten ist.

Wie gruppiere ich den Jahresteil der Datumsspalte?

    
Zain Ali 11.05.2011, 12:19
quelle

5 Antworten

32

Wie wäre es mit:

%Vor%

Oder:

%Vor%

Dies basiert auf dem OP-Befehl: "Ich möchte nach Jahr gruppieren Spalte des Datums (varchar)"

    
Kev 11.05.2011, 12:30
quelle
1

Sie sollten die Spalte shoptransfer.Date in die group by-Klausel einfügen.

%Vor%     
skorpk 11.05.2011 12:33
quelle
0

Wenn Sie sowohl das Datum als auch das Jahr auswählen möchten, sollten Sie keine GROUP BY-Klausel verwenden, da alle Zeilen mit ähnlichen Jahren in einer Zeile zusammengefasst werden. Wenn Sie alle Daten mit ähnlichen Jahren zusammen möchten, können Sie eine ORDER BY:

verwenden %Vor%

ODER

%Vor%     
garnertb 11.05.2011 12:25
quelle
0
%Vor%

Jahr 2004 2005 2006

    
jack.mike.info 12.05.2011 15:04
quelle
0

Ich weiß nichts über T-SQL, aber in SQL im Allgemeinen muss das, was in der group by-Klausel steht, genau mit jeder nicht aggregierten Funktionsspalte in der select-Klausel übereinstimmen. Probieren Sie

aus %Vor%

auch, where SUBSTRING(productcode, 5, 3) like '%' filtert nicht viel heraus - vielleicht entfernen Sie es.

    
Bear. Teddy Bear. 11.05.2011 12:24
quelle

Tags und Links