Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: Antonn am Oktober 13, 2021, 17:01:25

Titel: Spitzenwerte ermitteln
Beitrag von: Antonn am Oktober 13, 2021, 17:01:25
Moin,
habe ein Problem, kann jemand mir da weiterhelfen?
Ich habe so eine Tabellenaufbau.

Artikelnummer
A001 0001
bis
A001 1500
A002 0001
bis
A002 0704
A003 0001
bis
A003 0140

Die Zeile mit "bis" sollte nur eine Erleichterung sein, die Tabelle zu verstehen.

Ich möchte nur die Spitzenwerte (also die letzten Werte aller Gruppen).
Das sind Gruppe A001, A002, usw.

zb.
A001 1496
A001 1497
A001 1498
A001 1499
A001 1500

A002 0700
A002 0701
A002 0702
A002 0703
A002 0704
Titel: Re: Spitzenwerte ermitteln
Beitrag von: DF6GL am Oktober 13, 2021, 18:00:44
Hallo,


die Beschreibung und das Beispiel ist nicht verständlich.


Wenn Du den Max-Wert einer jeden Artikelgruppe meinst, dann etwa so:

Select Artikelnummer, Max(clng(Feld1)) As MaxWert From tblTablle1 Group by Artikelnummer
Titel: Re: Spitzenwerte ermitteln
Beitrag von: PhilS am Oktober 13, 2021, 19:15:43
Zitat von: Antonn am Oktober 13, 2021, 17:01:25
Artikelnummer
A001 0001
[...]
Ich möchte nur die Spitzenwerte (also die letzten Werte aller Gruppen).
Das sind Gruppe A001, A002, usw.
Ich glaube dein Problem ist hier, dass du Gruppe und Nummer, die zusammen die ganze Artikelnummer bilden, in einen Feld gespeichert hast. Wenn diese beiden Daten atomar in zwei Feldern gespeichert wären, wäre die Abfrage kinderleicht.

SELECT
   Gruppe,
   MAX(Nummer) AS HöchsteNummer
FROM deineTabelle
GROUP BY Gruppe

Bei deinem bestehenden Tabellendesign musst du dir Gruppe und Nummer mit Stringfunktionen (Left + Mid) erstmal herauspopeln, bevor du sie in einer Abfrage verwenden kannst.

Titel: Re: Spitzenwerte ermitteln
Beitrag von: Antonn am Oktober 13, 2021, 21:43:44
Hallo Phils,

ich habe mit Links([Artikelnummer];4) und Teil([Artikelnummer];6)
eine neue (temporäre)Tabelle "tblNeu" erstellt.

mit
SELECT tblNeu.Gruppe, Max(tblNeu.Nummer) AS MaxvonNummer
FROM tblNeu
GROUP BY tblNeu.Gruppe;

Erhalte ich den letzten Eintrag je Gruppe.
Ich wollte die letzten fünf haben.

Titel: Re: Spitzenwerte ermitteln
Beitrag von: markusxy am Oktober 13, 2021, 22:38:38
Welche Datenbank verwendest du?
Mit Access kann man da beim Improsieren nur zwischen Pest und Cholera wählen.