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
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
Zitat von: Antonn am Oktober 13, 2021, 17:01:25[...]
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.
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.
Welche Datenbank verwendest du?
Mit Access kann man da beim Improsieren nur zwischen Pest und Cholera wählen.