AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Problem beim Formulieren einer SQL-Abfrage
Thema durchsuchen
Ansicht
Themen-Optionen

Problem beim Formulieren einer SQL-Abfrage

Ein Thema von ustra · begonnen am 28. Mär 2004 · letzter Beitrag vom 28. Mär 2004
Antwort Antwort
ustra

Registriert seit: 12. Mär 2003
Ort: Geesthacht
138 Beiträge
 
Delphi 5 Professional
 
#1

Problem beim Formulieren einer SQL-Abfrage

  Alt 28. Mär 2004, 15:29
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: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:SELECT distinct fehler FROM CAD order By count(fehler) desc (funzt net).

Beste Grüße
Ulrich
Ulrich Strauer
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#2

Re: Problem beim Formulieren einer SQL-Abfrage

  Alt 28. Mär 2004, 15:33
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...
  Mit Zitat antworten Zitat
ustra

Registriert seit: 12. Mär 2003
Ort: Geesthacht
138 Beiträge
 
Delphi 5 Professional
 
#3

Re: Problem beim Formulieren einer SQL-Abfrage

  Alt 28. Mär 2004, 15:45
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
Ulrich Strauer
  Mit Zitat antworten Zitat
Matt

Registriert seit: 13. Nov 2003
Ort: Hamburg
212 Beiträge
 
#4

Re: Problem beim Formulieren einer SQL-Abfrage

  Alt 28. Mär 2004, 15:55
Wenn ich Dich richte verstehe müsste das hier gehen:

SELECT Fehler, Count(Fehler) AS AnzahFehler FROM CAD GROUP BY Fehler ORDER BY Count(Fehler) Gruß Matt
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#5

Re: Problem beim Formulieren einer SQL-Abfrage

  Alt 28. Mär 2004, 15:56
es wird nach der 2. sortiert -> genau das, was du wolltest.
Ich ändere nochmal meinen Post...
  Mit Zitat antworten Zitat
ustra

Registriert seit: 12. Mär 2003
Ort: Geesthacht
138 Beiträge
 
Delphi 5 Professional
 
#6

Re: Problem beim Formulieren einer SQL-Abfrage

  Alt 28. Mär 2004, 16:05
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 Count(Fehler) Count_Fehler vergessen, ansonsten funzt es wunderbar.

Besten Dank und Grüße
Ulrich
Ulrich Strauer
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz