ist es möglich, die ORDER BY-Spalte nicht in der GROUP BY-Spalte zu verwenden?

7

Wie der Titel sagte, hier ist mein Code:

%Vor%

wird der Code wegen der date_in nicht laufen, gibt es da eh um dies zu umgehen?

    
dreamer 28.04.2011, 11:57
quelle

6 Antworten

20

Wenden Sie ein anderes Aggregat an, also wie wäre es?

%Vor%     
Alex K. 28.04.2011, 12:08
quelle
1

Sortiert nach demselben Ausdruck, nach dem Sie gruppieren.

Es ist besser, die DATE -Darstellung des Monats zu gruppieren und zu sortieren.

In SQL Server 2008 wäre das:

%Vor%     
Quassnoi 28.04.2011 12:02
quelle
0

Sie können nur nach dem auswählen, was in einer SELECT-Anweisung verwendet werden kann. Date_in selbst ist in der Auswahlanweisung nicht möglich, so dass Sie es nicht verwenden können. Abhängig von Ihrem RDBMS können Sie Folgendes tun:

%Vor%     
JStead 28.04.2011 12:02
quelle
0

Versuchen Sie, nach Monat zu aggregieren? Wenn ja, versuche es:

%Vor%

Hinweis: Möglicherweise müssen Sie die Werte in der "MonthYearCombined" Spalte konvertieren - ich würde tatsächlich empfehlen, dass Sie das in Code statt SQL tun, aber wollte einen Verweis darauf enthalten.

    
Chris Shaffer 28.04.2011 12:12
quelle
0

Sie können die date_in-Spalte nicht wie Ihre ursprüngliche Abfrage behandeln. Stattdessen können Sie die Abfrage NEST und lesen Sie es so:

%Vor%

Ich kann es nicht in meiner Entwicklungsumgebung testen, aber ich glaube, das gibt dir die Idee.

    
itsols 28.04.2011 12:21
quelle
0

Verwenden Sie dies

%Vor%
    
jack.mike.info 29.04.2011 05:02
quelle