AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Größte Zahl in Table (Anfängerfrage)

Ein Thema von beanbear6 · begonnen am 27. Okt 2016 · letzter Beitrag vom 28. Okt 2016
Antwort Antwort
Seite 1 von 2  1 2      
beanbear6

Registriert seit: 28. Okt 2009
Ort: Passau
170 Beiträge
 
Delphi 7 Enterprise
 
#1

Größte Zahl in Table (Anfängerfrage)

  Alt 27. Okt 2016, 09:23
Delphi-Version: 7
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
Reiner
  Mit Zitat antworten Zitat
Benutzerbild von trojaner
trojaner

Registriert seit: 11. Mai 2004
Ort: Herisau CH
13 Beiträge
 
Delphi 10 Seattle Architect
 
#2

AW: Größte Zahl in Table (Anfängerfrage)

  Alt 27. Okt 2016, 09:34
Hallo

SELECT MAX(dein_int) AS Maximum
FROM deiner_Tabelle

gruss
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Größte Zahl in Table (Anfängerfrage)

  Alt 27. Okt 2016, 09:35
In SQL kann man das so machen:
SELECT MAX(Feld) FROM Table 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.
SELECT DISTINCT MAX(Feld) FROM Table .

EDIT: Roter Kasten???
  Mit Zitat antworten Zitat
Bambini
(Gast)

n/a Beiträge
 
#4

AW: Größte Zahl in Table (Anfängerfrage)

  Alt 27. Okt 2016, 09:38
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.
Von MAX() kommt nur ein Datensatz zurück. Ein DISTINCT braucht es nicht.
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.

Geändert von Bambini (27. Okt 2016 um 09:40 Uhr)
  Mit Zitat antworten Zitat
beanbear6

Registriert seit: 28. Okt 2009
Ort: Passau
170 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Größte Zahl in Table (Anfängerfrage)

  Alt 27. Okt 2016, 10:27
supiii!
Vielen Dank!
Reiner
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.034 Beiträge
 
Delphi 12 Athens
 
#6

AW: Größte Zahl in Table (Anfängerfrage)

  Alt 27. Okt 2016, 11:14
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.

Oder First bis Next+Eof durchlaufen und jeweils den größeren Wert merken, bis zuletzt der Größte übrig bleibt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: Größte Zahl in Table (Anfängerfrage)

  Alt 27. Okt 2016, 13:37
Es sollte am besten ein
Code:
Select max(meinfeld), count(*) from meineTabelle
sein.
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.
Gruß, Jo
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.034 Beiträge
 
Delphi 12 Athens
 
#8

AW: Größte Zahl in Table (Anfängerfrage)

  Alt 27. Okt 2016, 13:57
Nein, denn Max und Count laufen über alle Daten.
Count gibt somit auch die Anzahl der ausgewerteten Datensätze an.

Sowas wie SELECT Max(xyz), name, Count(*) FROM ... würde/könnte mehrere Datensätze liefern, da hier nach Name gruppiert wird und Max/Count dann je über die einzelnen Gruppen laufen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (27. Okt 2016 um 14:00 Uhr)
  Mit Zitat antworten Zitat
Bambini
(Gast)

n/a Beiträge
 
#9

AW: Größte Zahl in Table (Anfängerfrage)

  Alt 27. Okt 2016, 14:07
Es sollte am besten ein
Code:
Select max(meinfeld), count(*) from meineTabelle
sein.
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.
Das klappt nicht. Wenn man wissen will wieviele Einräge den Max() Wert haben:
Code:
SELECT COUNT(*) FROM meineTabelle WHERE meinfeld IN (SELECT MAX(meinfeld) FROM meineTabelle)
  Mit Zitat antworten Zitat
beanbear6

Registriert seit: 28. Okt 2009
Ort: Passau
170 Beiträge
 
Delphi 7 Enterprise
 
#10

AW: Größte Zahl in Table (Anfängerfrage)

  Alt 27. Okt 2016, 16:11
Hi,
das ja noch besser werd i gleich testen...
Vielen Dank!!
Reiner
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 12:29 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