Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

min-Funktion in Access-Abfragen

Frage Microsoft Microsoft Office

Mitglied: Shagrath

Shagrath (Level 1) - Jetzt verbinden

28.04.2007, aktualisiert 01.05.2007, 23557 Aufrufe, 8 Kommentare

Hi,

folgendes (wahrscheinlich schnell lösbares) Problem. Wie bringe ich in Access eine Abfrage dazu, mir den Datensatz mit dem kleinsten Wert einer Spalte rauszufiltern (z.B. der jüngste Mitarbeiter o.ä.)? Die Funktionen min haben mit auch nicht wirklich weitergeholfen (es tut sich gar nix bei den Funktionen) und im Internet hab ich auch nicht wirklich was gefunden.
Mitglied: BigWumpus
28.04.2007 um 17:07 Uhr
Nur den jüngsten Mitarbeiter ?

Entweder Du erstellst eine Abfrage, die Du nach dem Geburtsdatum sortieren läßt - da ist es der erste Datensatz.

Oder Du erstellst eine Abfrage mit Gruppierung ohne Bedingungen und nur mit dem Geburtsdatum und der Funktion MIN. Dann erhälst Du 1 Datenfeld.

Oder Du benutzt die Funktion "DOMMIN([Tabelle];[Spalte])" (Schreibweise bitte checken, ich tippe hier nur so rum.

Oder .... bei OBI.
Bitte warten ..
Mitglied: Guenni
28.04.2007 um 18:51 Uhr
@Shagrath

Hi,

die Funktion min funkt. auch mit Datum-Spalten.

Bei deinem Beispiel "Jüngster Mitarbeiter" willst du vermutlich nicht nur das Geb.-Datum
sehen, sondern auch den Namen etc.:

select name, vorname, datum from tabelle
where datum=(select min(datum) from tabelle)

... liefert dir das(vermutlich) gewünschte Ergebnis.(Gerade getestet!)

Grüße
Günni
Bitte warten ..
Mitglied: bastla
28.04.2007 um 19:09 Uhr
Hallo Shagrath!

Als kleine Ergänzung zum Vorschlag von BigWumpus:
Entweder Du erstellst eine Abfrage, die Du nach dem Geburtsdatum sortieren läßt - da ist es der erste Datensatz.
Wenn Du dann noch in den Eigenschaften der Abfrage (dazu im oberen Bereich des Abfrageentwurfsfensters aus dem Kontextmenü "Eigenschaften" wählen) "Spitzenwerte" auf 1 setzt, wird auch nur dieser erste Datensatz ausgegeben.

Grüße
bastla
Bitte warten ..
Mitglied: Shagrath
28.04.2007 um 22:49 Uhr
He, der war echt gut. Danke an alle. Der filtert jetzt den kleinsten hinaus, aber: Die Abfrage soll erstmal eine bestimmte Berufsgruppe rausfiltern (was nicht das Ding is) und dann soll der jüngste rausgefiltert werden (als ganze Zahl geschrieben, nicht als Datum). Hab gemerkt das ich die where-Anweisung vor der Berufsfilterung in den SQL-Code einsetzen muss. Daraus folgt der sucht sich den jüngsten Typen aus und merkt dann das der letzte Datensatz den Beruf nicht mehr hat und übrig bleibt gar kein Datensatz.

Hier mal der Code.

SELECT Mitarbeiter.Mitnr, Mitarbeiter.Name, Mitarbeiter.Vorname, Mitarbeiter.Ort, Mitarbeiter.Alter, Mitarbeiter.Beruf, Mitarbeiter.Telnr
FROM Mitarbeiter
WHERE (((Mitarbeiter.Alter)=(select min(Alter) from Mitarbeiter)))
GROUP BY Mitarbeiter.Mitnr, Mitarbeiter.Name, Mitarbeiter.Vorname, Mitarbeiter.Ort, Mitarbeiter.Alter, Mitarbeiter.Beruf, Mitarbeiter.Telnr
HAVING (((Mitarbeiter.Beruf)="Dipl.-Ing."));

Jetzt isses logisch, dass der erst den Beruf sucht nachdem der den jüngsten Knilch gesucht hat. Ich kann allerdings das "HAVING" nicht vor das "WHERE" setzen. Hat einer vielleicht noch ne Idee. Ich hab (noch) keinen Plan von SQL und ich wollte es in eine einzige Abfrage abarbeiten.

Danke schon mal.

Shagrath
Bitte warten ..
Mitglied: BigWumpus
29.04.2007 um 00:39 Uhr
OK,
Du solltest Dich entscheiden, ob Du der SQL-Fraktion folgen willst, oder ob Du das grafische Frontend Access verwenden willst.

Access:
Abfrage -
Tabelle hinzufügen -
Irgendwie diese Gruppierungsfunktion aktivieren
Spalte Beruf doppelt klicken und als "Bedingung" angeben und als Kriterium "Dipl. Ing."
Spalte Eintrittsdatum doppelt klicken und "Min" angeben.

Ausrechnen kannste das jetzt auch, würde dann aber wohl eine neue Abfrage sein, die die Daten aus dieser Abfrage nimmt und die Anzahl der Tage errechnet...
Bitte warten ..
Mitglied: Shagrath
29.04.2007 um 13:20 Uhr
Alles klar, habs jetzt so gemacht. Eine Abfrage mit wo nur der Beruf gefiltert wird und eine zweite Abfrage mit den Datensätzen auf der ersten Abfrage und mit der where-Anweisung nach Alter gefiltert.

Schön' Dank an alle.

Shagrath
Bitte warten ..
Mitglied: Biber
30.04.2007 um 20:37 Uhr
Moin Shagrath,

hmmm... da sperre ich mich ein bisschen, den Beitrag so zu schließen...

Das ist mir viel zu komplex.

Probierst Du mal diesen hier:
01.
SELECT TOP 1 Mitarbeiter.* 
02.
FROM Mitarbeiter 
03.
where Beruf="Dipl.-Ing." 
04.
Order by Alter
Gruss
Biber
Bitte warten ..
Mitglied: Shagrath
01.05.2007 um 15:39 Uhr
Boah Biber, der war wirklich nicht schlecht.

Schön' Dank, dann ist das Problem jetzt erst recht ordentlich gelöst.
Bitte warten ..
Ähnliche Inhalte
Hyper-V
gelöst Nach Updateinstallation - Hyper-V-Replikation stellt die Funktion ein (7)

Frage von DerWoWusste zum Thema Hyper-V ...

Microsoft Office
Formel-Funktion in Word produziert unsaubere Resultate bei Indizes (1)

Frage von Yauhun zum Thema Microsoft Office ...

Microsoft Office
Access 2016 Profi zur Hilfe gesucht

Frage von dtbsys zum Thema Microsoft Office ...

Neue Wissensbeiträge
Google Android

Cyanogenmod alternative Downloadquelle

(5)

Tipp von Lochkartenstanzer zum Thema Google Android ...

Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(5)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Heiß diskutierte Inhalte
Windows Server
gelöst Exchange HyperV Prozessorlast (19)

Frage von theoberlin zum Thema Windows Server ...

Windows Server
Server mit Netzwerkaussetzern (18)

Frage von SarekHL zum Thema Windows Server ...

Netzwerke
Vorschlag Hotelverkabelung (14)

Frage von FA-jka zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Batchdatei um einen Proxy einzustellen (14)

Frage von CrystalFlake zum Thema LAN, WAN, Wireless ...