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, 23784 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
Entwicklung
Powershell Funktion Pipeline oder nicht (4)

Frage von H41mSh1C0R zum Thema Entwicklung ...

Datenbanken
Access 2010 Pivot Table Export keine Werte (2)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

LAN, WAN, Wireless
Rogue Access Point (21)

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

Batch & Shell
gelöst Powershell Funktion Ausgabe in Datei (2)

Frage von schicksal zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(38)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

SAN, NAS, DAS
+100tb Storagelösung (12)

Frage von Data-Fabi zum Thema SAN, NAS, DAS ...

LAN, WAN, Wireless
Cisco W-Lan Controller als Applicance oder Software (11)

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

DNS
gelöst Komplette TLD Überschreiben bzw eigene Definieren (10)

Frage von Herbrich19 zum Thema DNS ...