Group by [ERLEDIGT]

Advantage Database Server

Moderator: Moderatoren

Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Group by [ERLEDIGT]

Beitrag von Manfred »

und einer Tiefgarage unter dem Keller. :lol:
Wobei ich jetzt aber schon sagen muß, ich hatte am WE einen SQL Befehl erstellt, der klappte und mir (von mehreren Tankvorgängen am gleichen Tag abgesehen) das Ergebnis lieferte, was ich brauchte. Leider dauert das aber viel zu lange. Also wurde das ganze Konzept geändert. Es wird jetzt in der Fahrzeugtabelle der jeweils letzte Tankvorgang zum Fahrzeug gemerkt (Datum, Menge) und den frage ich dann ab. Mit anderen Worten das Grundproblem ist schon gelöst. Wenn weitere Forschungen auf dem Gebiet aber neue Erkenntnisse und Lerneffekte in Sachen SQl bringen, dann können wir das gerne weiter verfolgen hier.
Wie sol ich das denn machen? In der DBF dürfte nichts gefährliches stehen. Ich könnte also den Architekten veranlassen ein Script zu erstellen, das einpacken und hier posten. Dann dürfte es kein Problem sein es nachzubilden auf einem anderen Rechner!?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
georg
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2823
Registriert: Fr, 08. Feb 2008 21:29
Hat sich bedankt: 95 Mal
Danksagung erhalten: 13 Mal

Re: Group by [ERLEDIGT]

Beitrag von georg »

Hallo, Manfred -


bei einem php-basierten Projekt hatte ich auch elend lange Laufzeiten - da wurde eine Statistik zu Beginn ausgewertet. Da der Pool, aus dem sich die Statistik bediente, immer grösser geworden war, dauerte die Abfrage immer länger.

Unter MySQL kann man dann mit "analyze SELECT ..." das Statement untersuchen lassen. MySQL zeigt dann an, wie das Statement ausgeführt wird, in meinem Fall "no index", in dem Fall wird sortiert, und das dauert. Also habe ich einen passenden Index erstellt, und jetzt flutscht das Statement nur so durch.

Vermutlich hat PostGRE einen vergleichbaren Befehl, der zeigt Dir dann an, was gemacht wird, und daraus kann man dann (meistens) schliessen, was zu tun ist, um den Turbo einzuschalten.
Liebe Grüsse aus der Eifel,

Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Group by [ERLEDIGT]

Beitrag von Manfred »

Hi Georg,
das dürfte hier aber nicht das Problem sein. Der Index auf dem Tankbuch ist kfznr + tankdatum + tankzeit.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Group by [ERLEDIGT]

Beitrag von nightcrawler »

Hallo Manfred,
das einfachste ist ein SQL Script, welches die Tabellen und Testdaten erzeugt...

Code: Alles auswählen

Create table Fahrzeug(id integer, Kennzeichen CHAR(20) ....);
INSERT INTO Fahrzeuge(id, kennzeichen, ...) VALUES
 (1, 'AB-CD 196'),
 (2, 'EF-GH 77');
Dasselbe für einen kleinen Ausschnitt der Tankdaten usw.
Mache es einfach allen leichter, die Situation nachzustellen.
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Group by [ERLEDIGT]

Beitrag von Manfred »

ok,
ich habe mal ein Paket mit der Originalmenge zusammengestellt. Wer das wirklich mal probieren will, der kann sich per PN bei mir melden, ich verschicke dann das ZIP File. Ich denke mal es geht hier in erster Linie nicht um die Umsetzung, sondern darum wie schnell das Ergebnis vorliegt. Und dann wäre es sicherlich interessant, das mit der Menge der Daten direkt zu testen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Group by [ERLEDIGT]

Beitrag von nightcrawler »

Manfred,
mit einer vollumfassenden Datensammlung kannst Du aber nicht schnell diverse Statements ausprobieren, weil Du nie die Zeit hast, alles anzuschauen, ob es auch so passt.
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Group by [ERLEDIGT]

Beitrag von Marcus Herz »

das dürfte hier aber nicht das Problem sein. Der Index auf dem Tankbuch ist kfznr + tankdatum + tankzeit.
Das ist auch eine Art Index, welcher wahrscheinlich nicht SQL optimiert ist.
Probier mal noch einen zweiten dazu:

Code: Alles auswählen

create index kfznrsql on tankbuch (kfznr, tankdatum, tankzeit);
PS: Schick mir doch schon mal die Daten.
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Group by [ERLEDIGT]

Beitrag von nightcrawler »

Hallo Marcus,
da DBF zum Einsatz kommen, wird ADS wohl den Index aus Deinem SQL so erstellen, wie Manfred bereits vorgegeben;) Den Concatenator ';' gibt es nur bei ADT.
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Group by [ERLEDIGT]

Beitrag von Marcus Herz »

Hallo Manfred
In deinem ZIP fehlen die Indexe. Kannst du mir dir Definitonen schicken. Nicht die CDX selber.
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Group by [ERLEDIGT]

Beitrag von Manfred »

fahrzeuge -> Str(kfznr,9)
fahrzeugarten -> id
hersteller -> id
tankbuch -> Str(kfznr,9,0) + DToS(tankdatum) + tankzeit
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Group by [ERLEDIGT]

Beitrag von UliTs »

Manfred hat geschrieben: So, 21. Nov 2021 16:57 vielleicht ist die Frage von mir auch nicht richtig rübergekommen.
Es gibt eine Menge an Fahrzeugen. Die möchte ich komplett aufgelistet haben. Aber zu jedem Fahrzeug gibt es eine weitere unendliche Menge an Einträgen im Tankbuch. Aus dem brauche ich aber nur de Eintrag mit dem höchsten DAtum. Wenn der gefunden wurde, dann muß ich dazu auch die Menge haben, die getankt wurde. Es würde auch genügen, wenn ich zu jedem Tankvorgang eines Fahrzeugs den ich finde immer nur den ersten nehme. Der steht dann sowieso am Anfang, weild er Index so gesetzt ist. Das klang mit TOP 1 für mich so, als wenn es klappen würde.
Ich habe mir jetzt auch einmal alles angeschaut und auch die Beispieldaten von Manfred in einem Data Dictionary eingetragen. Bevor ist loslege, habe ich noch (vermutlich ein paar) Fragen
1) Interessieren Dich nur Fahrzeuge, bei denen es schon mindestens einen Tankvorgang gegeben hat?
2) Und dann jeweils nur den letzten Eintrag (vereinfacht gesagt, den mit dem höchsten Datum)?

Edit: "Di" in "Dich" geändert
Edit2: folgendes hinzugefügt

Mit dem folgenden Statement bekommt man alle gesuchten Tankvorgänge. Kannst Du damit etwas anfangen?

Code: Alles auswählen

select     Tb.*
from       Tankbuch Tb
inner join (
 select    Tb.KfzNr,Max( Tb.TankDatum ) TankDatum
 from      Tankbuch Tb
 group by  Tb.KfzNr
) Tb2 on Tb.KfzNr = Tb2.KfzNr and Tb.TankDatum=Tb2.TankDatum
order by Tb.TankDatum,Tb.Tankzeit
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Group by [ERLEDIGT]

Beitrag von Manfred »

Hi Uli,
Du bist das Thema andersherum angegangen. Ich benötige "alle Fahrzeuge" und dazu die letzten Tankdaten. Du hast die Tankdaten genommen und dazu die Fahrzeuge angezeigt. Das ist so nicht gefordert
Es geht eigentlich darum alle Fahrzeuge anzuzeigen und dann, wenn vorhanden, die Tankdaten auch. Ansonsten nur die Fahrzeuge. Meine ich aber anhand meines Beispiel auch so gezeigt zu haben ;-)
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Group by [ERLEDIGT]

Beitrag von UliTs »

Manfred hat geschrieben: Mi, 01. Dez 2021 18:22 ...Ich benötige "alle Fahrzeuge" und dazu die letzten Tankdaten. Du hast die Tankdaten genommen und dazu die Fahrzeuge angezeigt. Das ist so nicht gefordert
Doch natürlich möchtest Du das, Du weißt es nur nicht :D .
Ich zeige Dir gleich, wie man daraus die Liste mit den Fahrzeugen macht.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Group by [ERLEDIGT]

Beitrag von UliTs »

Bitte sehr 😊.

Code: Alles auswählen

select     Tb.TankDatum,Tb.KmStand,Tb.Menge,Fz.*
from       Fahrzeuge Fz
left outer join( 
  select     Tb.*
  from       Tankbuch Tb
  inner join (
   select    Tb.KfzNr,Max( Tb.TankDatum ) TankDatum
   from      Tankbuch Tb
   group by  Tb.KfzNr
  ) Tb2 on Tb.KfzNr = Tb2.KfzNr and Tb.TankDatum=Tb2.TankDatum
) Tb       on Fz.KfzNr = Tb.KfzNr
order by Tb.KfzNr,Tb.TankDatum,Tb.Tankzeit
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Group by [ERLEDIGT]

Beitrag von Manfred »

ok, das ist aber nicht mehr das, was Du noch weiter oben geschrieben hast. Sieht aber erstmal interessant aus das Ergebnis. Mal prüfen, ob es das ist was ich brauche könnte. Dauert von der Zeit her ca. genauso lange, wie meine letzte Version, mit der ich klar kommen würde. Die aber dann ganz anders aussieht als Dein Vorschlag. Aber der Weg ist ja bekanntlich das Ziel.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Marcus Herz
1000 working lines a day
1000 working lines a day
Beiträge: 851
Registriert: Mo, 16. Jan 2006 8:13
Wohnort: Allgäu
Hat sich bedankt: 39 Mal
Danksagung erhalten: 192 Mal
Kontaktdaten:

Re: Group by [ERLEDIGT]

Beitrag von Marcus Herz »

Ich versuch gerade, das Zeitverhalten paralell in ADT zu testen. Melde mich
Gruß Marcus

Erkenne, was du findest, dann weißt du, wonach du gesucht hast
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Group by [ERLEDIGT]

Beitrag von UliTs »

Manfred hat geschrieben: Do, 02. Dez 2021 8:24 ok, das ist aber nicht mehr das, was Du noch weiter oben geschrieben hast.
Doch, dass ist exakt das Gleiche.
Manfred hat geschrieben: Do, 02. Dez 2021 8:24 ... Dauert von der Zeit her ca. genauso lange, wie meine letzte Version, mit der ich klar kommen würde. ...
Es ging ja auch erst einmal darum, das SQL Statement so einfach wie möglich zu schreiben. Jetzt muß man nur noch das Statement von meinem Beitrag von gestern 17:55 zeitlich optimieren.

Edit: alternativ könnte man auch eine passende Funktion im Data Dictionary integrieren.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Group by [ERLEDIGT]

Beitrag von nightcrawler »

Hallo Manfred,
ich denke nicht, dass Du das Statement wesentlich schneller bekommst, da durch die Aggregation doch viel Zeit verloren geht. Zudem hast Du ein Problem mit dem Datum: Was ist, wenn an einem Tag dasselbe Fz zweimal getankt wird?
Du musst zwingend eine ID einsetzen, die streng chronologisch zumindest über ein Fahrzeug ist. Dann kannst Du diese verwenden.
Beispiel:

Code: Alles auswählen

try drop table tankbuch; catch all end try;
create table tankbuch(id integer, kfznr integer, tankdatum date, menge double);
insert into tankbuch values 
  (1,1,'01.01.2021', 45.3),
  (2,1,'10.01.2021', 43.8),
  (3,1,'01.02.2021', 50.4),
  (4,2,'05.01.2021', 53.3),
  (5,2,'04.02.2021', 45.3),
  (6,2,'30.06.2021', 55.7);
die jeweils neuesten Tankeinträge bekommst Du dann mit:

Code: Alles auswählen

select a.* from tankbuch a 
inner join(
select max(id) as id from tankbuch
group by kfznr
) b on a.id=b.id
diese kannst Du Dir gleich in einer View hinterlegen.
Dann gehst Du weiter wie von Uli beschrieben vor (nur statt dem komplexen inneren Statement die View verwenden). Evtl wirst Du dadurch schneller.
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Group by [ERLEDIGT]

Beitrag von Manfred »

Hi Joachim,
genau das liegt der Hase im Pfeffer. Dann wird aber innerhalb des Datums nochmal nach Zeit sortiert und der letzte Vorgang liegt am Anfang. Da kann ich dann mit meinem eingangs erwähnten Script das Ergebnis verarbeiten, indem ich eifnach den ersten Eintrag nehme un der ist dann richtig.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Group by [ERLEDIGT]

Beitrag von UliTs »

Manfred, das ist halt schwieriger zu optimieren. Ich hatte genau das gleiche Problem, dass die Eindeutigkeit nur über 2 Felder möglich war. Da schaue ich mal, wie ich das gelöst habe. Ich meine, ich habe die Berechnung trotz mehrerer Millionen Datensätze auf unter 1 Sekunde reduzieren können.

Wenn man die Tabellenstruktur ändern kann, wäre es das Einfachste, Datum und Uhrzeit in einem Feld (möglichst als Zeitstempel) zusammenzufassen.
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
nightcrawler
1000 working lines a day
1000 working lines a day
Beiträge: 650
Registriert: Di, 24. Apr 2012 16:33
Wohnort: 72184 Weitingen
Hat sich bedankt: 3 Mal
Danksagung erhalten: 96 Mal
Kontaktdaten:

Re: Group by [ERLEDIGT]

Beitrag von nightcrawler »

Manfred hat geschrieben: Do, 02. Dez 2021 14:33 Dann wird aber innerhalb des Datums nochmal nach Zeit sortiert und der letzte Vorgang liegt am Anfang.
Vor lauter Daten die Struktur nicht gesehen ... die Tankzeit ist mir bisher rausgegangen. Wie Uli schrieb: Timestamp verwenden. Mit DBF nicht ganz so leicht, da könntest Du evtl auf eine Char-Notation ausweichen (yyymmdd hh:mm), dann klappt die Sortierung zumindest immer sauber.
Oder noch einfacher: Du packst einen Trigger um Dein Tankbuch und bei jedem Eintrag wird der letzte Stand redundant in die FZ-Tabelle gespeichert.
--
Joachim
Joachim Dürr Softwareengineering
https://www.jd-engineering.de
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Group by [ERLEDIGT]

Beitrag von Manfred »

mein Wunsch ist es zwischen den Feiertagen alles von DBF auf ADT umzustellen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: Group by [ERLEDIGT]

Beitrag von UliTs »

Ich habe mir ein ähnliches zeitliches Problem aus der Vergangenheit angeschaut. Das habe ich rasend schnell hinbekommen und würde unter einer bestimmten Voraussetzung auch bei Dir funktionieren:

Kann man davon ausgehen, dass je Fahrzeug die Tankbelege in der richtigen zeitlichen Reihenfolge angelegt werden? Also Fahrzeug X hat z.B. am 1.12. und am 8.12. getankt. Wird dann grundsätzlich der Beleg vom 1.12. vor dem Beleg vom 8.12. erfasst?
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: Group by [ERLEDIGT]

Beitrag von Wolfgang Ciriack »

Das anzunehmen, ist aber gefährlich und m.E. nicht gut. Dafür gibt es ja dann - bei normalen DBF - einen Index, damit die Reihenfolge stimmt.
Viele Grüße
Wolfgang
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21165
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 206 Mal
Danksagung erhalten: 67 Mal

Re: Group by [ERLEDIGT]

Beitrag von Manfred »

die dbf wird sequentiell gefüllt. Ohne Index. Also so wie Du vermutet hast Uli.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Antworten