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, 23021 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 ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
LAN, WAN, Wireless
Freifunk über vorhandene Access Points ausstrahlen (2)

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

Windows Netzwerk
Direct Access mit VPN aufbau (6)

Frage von geocast zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Router & Routing
gelöst Empfehlung günstiges ADSL2+ nur Modem (10)

Frage von TimMayer zum Thema Router & Routing ...

Server-Hardware
Lenovo Server System X 3650 M5 Festplatten (9)

Frage von Hendrik2586 zum Thema Server-Hardware ...