Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Problem beim Formulieren einer SQL-Abfrage (https://www.delphipraxis.net/19054-problem-beim-formulieren-einer-sql-abfrage.html)

ustra 28. Mär 2004 14:29


Problem beim Formulieren einer SQL-Abfrage
 
Hi,

ich habe eine Tabelle CAD mit dem Feld "fehler". In diesem Feld speichere ich verschiedene Meldungen. BSP: 1200, 1300 2500 usw. Jede Nummer hat eine Bedeutung (welche, ist egal). Nun arbeite ich an einem Statistikprogramm und möchte die häufigsten Meldungen sortiert nach dem meisten Auftreten anzeigen. Dazu mache eine Abfrage. Mein Problem dabei ist, wie ich die Datensätze sortiere mittels SQL.

Bisher habe ich folgende Abfrage:
SQL-Code:
SELECT distinct fehler FROM CAD
Damit bekomme jede auftretende Meldung einmal ausgegeben. Nun will ich diese Datensätze möglichst gleich noch sortieren mit der Abfrage. Ich möchte vermeiden, dass ich da noch mal die Sortierung im Programm selber machen muss (per Algo).

Könnt Ihr mir dabei helfen? Ich bräuchte so was wie:
SQL-Code:
SELECT distinct fehler FROM CAD order By count(fehler) desc
(funzt net).

Beste Grüße
Ulrich

Robert_G 28. Mär 2004 14:33

Re: Problem beim Formulieren einer SQL-Abfrage
 
SQL-Code:
SELECT distinct fehler FROM CAD order By count(fehler) desc
Das kann so nicht gehen ;)

In der ORDER BY Clause hast du keinen Zugriff auf Aggregatfunktionen.
Versuche es mal so:
SQL-Code:
SELECT Distinct Fehler,Count(Fehler) Count_Fehler
FROM  CAD
GROUP BY Fehler
ORDER BY 2 Desc
Das sagt der DB sie soll den Wert der zweiten Spalte (dem Count(Fehler) ) sortieren.

Nachtrag: Hatte mich vertan...

ustra 28. Mär 2004 14:45

Re: Problem beim Formulieren einer SQL-Abfrage
 
Hi,

das ist mir klar, dass die zum Schluss formulierte Abfrag nicht geht. habe auch so ein Hinweis geschrieben.

Deine Abfrage bringt leider auch nicht den Erfolg. Ich möchte nach Möglichkeit nach der Anzahl sortieren, wie häufig eine Meldung vorkommt.

Beste Grüße
Ulrich

Matt 28. Mär 2004 14:55

Re: Problem beim Formulieren einer SQL-Abfrage
 
Wenn ich Dich richte verstehe müsste das hier gehen:

SQL-Code:
SELECT Fehler, Count(Fehler) AS AnzahFehler FROM CAD GROUP BY Fehler ORDER BY Count(Fehler)
Gruß Matt

Robert_G 28. Mär 2004 14:56

Re: Problem beim Formulieren einer SQL-Abfrage
 
:wall: es wird nach der 2. sortiert -> genau das, was du wolltest.
Ich ändere nochmal meinen Post...

ustra 28. Mär 2004 15:05

Re: Problem beim Formulieren einer SQL-Abfrage
 
Hi ihr beiden,

ich habe Eure beiden Vorschläge ausprobiert und beide liefern das von mir gewünschte Ergebnis.

Danke für Eure Hilfe.

@Robert_G: Du hast ein As bei
SQL-Code:
Count(Fehler) Count_Fehler
vergessen, ansonsten funzt es wunderbar.

Besten Dank und Grüße
Ulrich


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz