Autor Beitrag
Kossy
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 53



BeitragVerfasst: Di 16.10.12 17:52 
Hallo zusammen !

Ist es eigentlich möglich, in einem SQL SELECT Befehl ein Group By und gleichzeitig auch eine Order By Klausel zu definieren? Uncd wenn ja, funktioniert es dann auch, ein- und dieselbe Tabellenspalte in der Group By und Order By Klausel aufzuführen?

Viele Grüße
Kossy
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 16.10.12 22:42 
Das hast du schneller nachgeguckt und fast noch schneller ausprobiert als gefragt. Insofern spar ich mir ne echte Antwort.
Kossy Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 53



BeitragVerfasst: Mi 17.10.12 07:26 
Hallo !

Ja also ich habe es nciht hinbekommen, aber die Frage ist, ob es generell überhaupt möglich ist und ich weiß leider nciht, wo genau ich dort dafür nachschauen soll?
jfheins
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 918
Erhaltene Danke: 158

Win 10
VS 2013, VS2015
BeitragVerfasst: Mi 17.10.12 08:03 
Ja, geht. Ich habe es gerade ausprobiert mit MySQL funktioniert's.
Zuerst verplant und "sort by" geschrieben, dann zwar "order by" aber die falsche Reihenfolge. Nach dem 5. Versuch ging es dann:
ausblenden SQL-Anweisung
1:
2:
3:
SELECT * FROM `tbl_category`
group by `cat_parent_id`
order by `cat_parent_id` desc
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 17.10.12 09:48 
Zitat:
wo genau ich dort dafür nachschauen soll?


In der Doku? Zuerst wäre wohl mal die Hilfe zum Select der Einstieg wenn man ein Problem mit dem Syntax eines Select hat.

Unter dem Punkt Syntax siehst du dann
Zitat:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
<SELECT statement> ::=  
    [WITH <common_table_expression> [,...n]]
    <query_expression> 
    [ ORDER BY { order_by_expression | column_position [ ASC | DESC ] } 
  [ ,...n ] ] 
    [ <FOR Clause>] 
    [ OPTION ( <query_hint> [ ,...n ] ) ] 
<query_expression> ::= 
    { <query_specification> | ( <query_expression> ) } 
    [  { UNION [ ALL ] | EXCEPT | INTERSECT }
        <query_specification> | ( <query_expression> ) [...n ] ] 
<query_specification> ::= 
SELECT [ ALL | DISTINCT ] 
    [TOP ( expression ) [PERCENT] [ WITH TIES ] ] 
    < select_list > 
    [ INTO new_table ] 
    [ FROM { <table_source> } [ ,...n ] ] 
    [ WHERE <search_condition> ] 
    [ <GROUP BY> ] 
    [ HAVING < search_condition > ]



Aha. Da sollte man rauslesen das beides möglich ist und man muss erst gruppieren und dann sortieren. Wenn du das aus dem Syntax nicht so genau lesen kannst (was verzeichlich ist) kommt aber dann zumindest im folgenden nochmal die 'Logical Processing Order of the SELECT statement' wo das im Klartext aufgezeigt wird. Wie man gruppiert und wie man sortiert wusstest du vermutlich vorher und aus der Hilfe sollte man Ruckzuck erlesen können das man das einfach kombinieren kann und in welcher Reihenfolge das dann anzugeben ist (und vom System angewendet wird; anders herum würde es scharf nachgedacht auch keinen Sinn machen).
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 17.10.12 11:33 
user profile iconKossy hat folgendes geschrieben Zum zitierten Posting springen:
Ja also ich habe es nciht hinbekommen
Dann schreib doch besser deine SQL-Formel gleich dazu, dann hättest du vermutlich schon längst die Antwort, warum die nicht funktioniert. :wink: