![]() |
Delphi-Version: 7
Größte Zahl in Table (Anfängerfrage)
Hi,
ich hab in einer TTable viele Datensätze. In einigen Zeilen im Feld (merk) stehen verschiedene Zahlen (Integer), aber nicht in jeder Zeile. Gibt es eine einfache Möglichkeit, die größte Zahl zu ermitteln? Ich hab gelesen, dass es MAX gibt, das geht aber wohl nicht mit einem Datenbankfeld oder? Bin für jeden Tip dankbar. Gruß Reiner |
AW: Größte Zahl in Table (Anfängerfrage)
Hallo
SELECT MAX(dein_int) AS Maximum FROM deiner_Tabelle gruss |
AW: Größte Zahl in Table (Anfängerfrage)
In SQL kann man das so machen:
SQL-Code:
Somit wird nur der größte Wert ausgegeben. Wenn jetzt mehrere gleich große Zahlen vorhanden sind, dann musst du ggf. noch ein DISTINCT hinzufügen. Da bin ich mir aber gerade nicht sicher, ob überhaupt mehrere Datensätze zurückkommen. Da hilft dann ausprobieren oder jmd. anderen schlauen hier fragen. :wink:
SELECT MAX(Feld) FROM Table
SQL-Code:
.
SELECT DISTINCT MAX(Feld) FROM Table
EDIT: Roter Kasten??? |
AW: Größte Zahl in Table (Anfängerfrage)
Zitat:
Eine TTable kingt nach BDE. Bei einer TTable kann man keine Query ausführen. Einfach ein TQuery an die gleiche Connection hängen und das SQL Statement ausführen lassen. |
AW: Größte Zahl in Table (Anfängerfrage)
supiii! :-)
Vielen Dank! |
AW: Größte Zahl in Table (Anfängerfrage)
Alternativ hätte man die TTable auch nach dieser Spalte sortieren können und schon steht am entprechenden Ende (First oder Last) der gewünschte Wert. :stupid:
Oder First bis Next+Eof durchlaufen und jeweils den größeren Wert merken, bis zuletzt der Größte übrig bleibt. :lol: |
AW: Größte Zahl in Table (Anfängerfrage)
Es sollte am besten ein
Code:
sein.
Select max(meinfeld), count(*) from meineTabelle
Damit würde man dann sehen, ob es mehrere Einträge mit dem Maximalwert gibt und wieviele es sind. Ein Distinct ist hier nicht notwendig. |
AW: Größte Zahl in Table (Anfängerfrage)
Nein, denn Max und Count laufen über alle Daten.
Count gibt somit auch die Anzahl der ausgewerteten Datensätze an. Sowas wie
Delphi-Quellcode:
würde/könnte mehrere Datensätze liefern, da hier nach Name gruppiert wird und Max/Count dann je über die einzelnen Gruppen laufen.
SELECT Max(xyz), name, Count(*) FROM ...
|
AW: Größte Zahl in Table (Anfängerfrage)
Zitat:
Code:
SELECT COUNT(*) FROM meineTabelle WHERE meinfeld IN (SELECT MAX(meinfeld) FROM meineTabelle)
|
AW: Größte Zahl in Table (Anfängerfrage)
Hi,
das ja noch besser :-) werd i gleich testen... Vielen Dank!! :-) |
AW: Größte Zahl in Table (Anfängerfrage)
Zitat:
Ja, das ist natürlich Schrott, Bambini hats gerichtet. (aber die Idee war ja auch ambitioniert...) ;) |
AW: Größte Zahl in Table (Anfängerfrage)
Blos mal als Beispiel, dass es tausende Lösungen gibt.
Hier Eine ohne SubSelect, mit der Anzahl, wieviele MAX es gibt.
SQL-Code:
SELECT field, Count(*)
FROM table ORDER BY field DESC LIMIT 1 |
AW: Größte Zahl in Table (Anfängerfrage)
Das funktioniert so aber auch nur unter MySQL und SQLite.
|
AW: Größte Zahl in Table (Anfängerfrage)
Und Postgres und wer weiß wo noch. :oops:
|
AW: Größte Zahl in Table (Anfängerfrage)
wirklich?
FireBird und jede andere mir bekannt Datenbank gibt eine Fehlermeldung in der Art aus:
Code:
Eine Spalte + Count(*) ohne Group By auf die Spalte ist eher ungewöhnlich.
[ODBC Firebird Driver][Firebird]Dynamic SQL Error
SQL error code = -104 Invalid expression in the select list (not contained in either an aggregate function or the GROUP BY clause) select ok, count(*) from textverwaltung order by ok Für 'ne Aggregatefunktion benötigt man eigentlich immer ein Group by, auch wenn man dann nur den ersten Satz der Ergebnismenge sehen möchte. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:03 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