Top-Themen

Aktuelle Themen (A bis Z)

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

Größter Datumswert in SQL Abfrage

Frage Entwicklung Datenbanken

Mitglied: BadFsaadKl

BadFsaadKl (Level 1) - Jetzt verbinden

14.01.2014, aktualisiert 21:51 Uhr, 4091 Aufrufe, 9 Kommentare, 1 Danke

Moin zusammen,

ich glaub ich hab nen kleinen Hänger.

Habe eine kleine SQL (Oracle) Abfrage, welche mir 2 Ergebnisse zurück gibt.

01.
SELECT 
02.
  a.ab_datum, 
03.
  a.f_bez, 
04.
  a.herst, 
05.
  a.typ, 
06.
  a.ser_nr 
07.
FROM 
08.
  osq01_abflug a, 
09.
  osq01_flug b 
10.
WHERE 
11.
  a.f_bez = b.f_bez AND 
12.
  b.s_ort = 'Luxemburg' AND 
13.
  b.z_ort = 'Ankara' AND 
14.
  a.ab_datum BETWEEN '10.11.2006' AND '20.11.2006'
Ergebnis:
01.
15.11.06	LH-421         	Boeing         	B777      	xv56-3142       
02.
17.11.06	LH-421         	Boeing         	B777      	xv23-0889      
Ich möchte als Ausgabe jedoch nur den Eintrag, mit dem Höchsten/Größten Datum. Sprich die Werte vom 17.11.06
Wenn ich im SELECT Bereich das Datum mit MAX auswähle, erhalte ich folgenden Fehler:
01.
SELECT 
02.
  MAX(a.ab_datum), 
03.
  a.f_bez, 
04.
  a.herst, 
05.
  a.typ, 
06.
  a.ser_nr 
07.
FROM 
08.
  osq01_abflug a, 
09.
  osq01_flug b 
10.
WHERE 
11.
  a.f_bez = b.f_bez AND 
12.
  b.s_ort = 'Luxemburg' AND 
13.
  b.z_ort = 'Ankara' AND 
14.
  a.ab_datum BETWEEN '10.11.2006' AND '20.11.2006'
01.
ORA-00937: not a single-group group function 
02.
00937. 00000 -  "not a single-group group function" 
03.
*Cause:     
04.
*Action: 
05.
Fehler in Zeile: 3 Spalte: 3
Ich steh momentan Total auf dem Schlauch, was ich hier Gruppieren muss, damit das funktioniert.

Habt Ihr ne Idee wo ich gerade hänge ?

Danke

Gruß BadFsaadKl
Mitglied: colinardo
14.01.2014, aktualisiert um 20:44 Uhr
Hi,
01.
SELECT 
02.
  a.ab_datum, 
03.
  a.f_bez, 
04.
  a.herst, 
05.
  a.typ, 
06.
  a.ser_nr 
07.
FROM 
08.
  osq01_abflug a, 
09.
  osq01_flug b 
10.
WHERE 
11.
  a.f_bez = b.f_bez AND 
12.
  b.s_ort = 'Luxemburg' AND 
13.
  b.z_ort = 'Ankara' AND 
14.
  a.ab_datum BETWEEN '10.11.2006' AND '20.11.2006' 
15.
ORDER BY a.ab_datum DESC 
16.
LIMIT 1
Grüße Uwe
Bitte warten ..
Mitglied: BadFsaadKl
14.01.2014 um 20:36 Uhr
Hi Uwe,

bekomme hier immer nur den 15.11.06 als Wert raus.
selbst wenn ich die Sortierung DESC durch ASC tausche.

Grüße Michel
Bitte warten ..
Mitglied: colinardo
14.01.2014 um 20:45 Uhr
hab's grad nochmal geändert, kann's gerade nicht testen ...
Bitte warten ..
Mitglied: BadFsaadKl
14.01.2014 um 20:45 Uhr
Ich habe auch das gleiche wenn ich ich mir nur den größten Wert von Durchschnittswerten anzeigen lassen möchte:

01.
SELECT 
02.
  a.herst AS "HERST", 
03.
  AVG(a.f_std) AS "MMFST" 
04.
FROM 
05.
  osq01_flugzeug a 
06.
GROUP BY a.herst 
07.
ORDER BY MMFST DESC
Ergebnis:
01.
Douglas        	8447 
02.
Boeing         	6225 
03.
Airbus         	3239,333333333333333333333333333333333333
Und wenn ich das jetzt mit Rownum mache bekomme ich was völlig anderes:
01.
SELECT 
02.
  a.herst AS "HERST", 
03.
  AVG(a.f_std) AS "MMFST" 
04.
FROM 
05.
  osq01_flugzeug a 
06.
WHERE ROWNUM = 1 
07.
GROUP BY a.herst 
08.
ORDER BY MMFST DESC
Ergebnis:
01.
Boeing         	4567
Bitte warten ..
Mitglied: BadFsaadKl
14.01.2014 um 20:47 Uhr
Mit dem Limit bekomme ich gleich nen ORA Fehler:
01.
ORA-00933: SQL command not properly ended 
02.
00933. 00000 -  "SQL command not properly ended" 
03.
*Cause:     
04.
*Action: 
05.
Fehler in Zeile: 16 Spalte: 1
Bitte warten ..
Mitglied: colinardo
14.01.2014 um 20:52 Uhr
oh nö das ist ja Oracle , dann geht das nicht, wie du es dort machst:
http://stackoverflow.com/questions/11390585/maxdate-sql-oracle
Sorry bin grad auf dem Smartphone
Bitte warten ..
Mitglied: colinardo
LÖSUNG 14.01.2014, aktualisiert um 21:51 Uhr
So müsste es für Oracle gehen
01.
SELECT * FROM ( 
02.
SELECT 
03.
  a.ab_datum, 
04.
  a.f_bez, 
05.
  a.herst, 
06.
  a.typ, 
07.
  a.ser_nr 
08.
FROM 
09.
  osq01_abflug a, 
10.
  osq01_flug b 
11.
WHERE 
12.
  a.f_bez = b.f_bez AND 
13.
  b.s_ort = 'Luxemburg' AND 
14.
  b.z_ort = 'Ankara' AND 
15.
  a.ab_datum BETWEEN '10.11.2006' AND '20.11.2006' 
16.
ORDER BY a.ab_datum DESC) 
17.
WHERE ROWNUM=1;
Bitte warten ..
Mitglied: BadFsaadKl
14.01.2014 um 21:50 Uhr
Supi.
Funktioniert.

Danke Uwe

Gruß Michel
Bitte warten ..
Mitglied: Biber
LÖSUNG 15.01.2014, aktualisiert 29.04.2014
Moin BadFsaadKl und colinardo,

da muss ich Einspruch erheben - diese Abfrage liefert bei den oben angegebenen Daten das richtige Ergebnis - aber nicht bei anderen.
Da das "Abflugdatum" in der Tabelle osq01_abflug nur ein Stringwert ist (und kein Datum), wird hier auch nur ein Stringvergleich gemacht.

Bedeutet: bei der Prüfung "...a.ab_datum BETWEEN '10.11.2006' AND '20.11.2006' " werde alle Strings gefunden, die zwischen "10*" und "20*" sind und davon der "höchste" genommen.
Das muss aber nicht mal ein Datumswert, geschweige denn ein Datum aus dem Jahr 2006 sein,

Beispiel: Wenn in den gefundenen Daten auch noch ein Flug "LH-421" von Luxemburg nach Ankara wäre z.B vom Datum 18.11.2013 (also eigentlich ausserhalb des vermeinlich abgefragten Zeitraums "...a.ab_datum BETWEEN '10.11.2006' AND '20.11.2006' " , dann wird wegen des Stringsvergleichs mit colinardos Abfrage dieser gefunden.

01.
with osq01_abflug( ab_datum, f_bez, herst, typ, ser_nr) as 
02.
(         select '17.11.06', 'LH-421', 'Boeing' , 'B777', 'xv23-0889' from dual 
03.
union all select '15.11.06', 'LH-421',  'Boeing', 'B777', 'xv56-3142' from dual 
04.
union all select '18.11.13', 'LH-421',  'Boeing', 'B777', 'xv99-0815' from dual 
05.
)  
06.
, osq01_flug (f_bez, s_ort, z_ort) as 
07.
 (                select  'LH-421', 'Luxemburg', 'Ankara' from dual ) 
08.
  
09.
SELECT * FROM ( 
10.
SELECT 
11.
  a.ab_datum, 
12.
  a.f_bez, 
13.
  a.herst, 
14.
  a.typ, 
15.
  a.ser_nr 
16.
FROM 
17.
  osq01_abflug a, 
18.
  osq01_flug b 
19.
WHERE 
20.
  a.f_bez = b.f_bez AND 
21.
  b.s_ort = 'Luxemburg' AND 
22.
  b.z_ort = 'Ankara'   AND 
23.
    a.ab_datum BETWEEN '10.11.2006' AND '20.11.2006'  
24.
ORDER BY a.ab_datum  DESC) 
25.
WHERE ROWNUM=1;
Ergebnis ist ein Datum definitiv ausserhalb des Bereichs 10.Nov 2006 - 20.Nov 2006..
AB_DATUM | F_BEZ  | HERST  | TYP  | SER_NR    
---------+--------+--------+------+---------- 
18.11.13 | LH-421 | Boeing | B777 | xv99-0815
Besser wäre es mit einer Prüfung auf Datumswerte:

01.
with osq01_abflug( ab_datum, f_bez, herst, typ, ser_nr) as 
02.
(         select '17.11.06', 'LH-421', 'Boeing' , 'B777', 'xv23-0889' from dual 
03.
union all select '15.11.06', 'LH-421',  'Boeing', 'B777', 'xv56-3142' from dual 
04.
union all select '18.11.13', 'LH-421',  'Boeing', 'B777', 'xv99-0815' from dual 
05.
)  
06.
, osq01_flug (f_bez, s_ort, z_ort) as 
07.
 (                select  'LH-421', 'Luxemburg', 'Ankara' from dual ) 
08.
  
09.
SELECT * FROM ( 
10.
SELECT 
11.
  a.ab_datum, 
12.
  a.f_bez, 
13.
  a.herst, 
14.
  a.typ, 
15.
  a.ser_nr 
16.
FROM 
17.
  osq01_abflug a, 
18.
  osq01_flug b 
19.
WHERE 
20.
  a.f_bez = b.f_bez AND 
21.
  b.s_ort = 'Luxemburg' AND 
22.
  b.z_ort = 'Ankara'   AND 
23.
   To_date(a.ab_datum, 'dd.mm.yy') BETWEEN To_date('10.11.2006', 'dd.mm.yyyy') AND to_date('20.11.2006','dd.mm.yyyy') 
24.
ORDER BY To_date(a.ab_datum, 'dd.mm.yy') DESC) 
25.
WHERE ROWNUM=1;
Ergebnis.
AB_DATUM | F_BEZ  | HERST  | TYP  | SER_NR    
---------+--------+--------+------+---------- 
17.11.06 | LH-421 | Boeing | B777 | xv23-0889

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
PHP
Abfrage SQL
gelöst Frage von dudeldoedelPHP3 Kommentare

Hallo zusammen, kann man das in einer SQL Abfrage erreichen ??? Feldwert lautet: {"565":{"textinput":{"comment":"1400"}}} als Ergebnis soll ausgelesen werden ...

Datenbanken
Hilfe bei SQL Abfrage
gelöst Frage von e51bomagDatenbanken9 Kommentare

Habe einfach eine Denkblockade und würde mich über Hilfe bei einer Datenbankabfrage freuen. Die Abfrage lautet wie folgt: SELECT ...

Windows Server
SQL Abfrage automatisch exportieren
Frage von Andinistrator1Windows Server6 Kommentare

Hallo Zusammen, kurz und knapp: Ich habe eine SQL Abfrage. Diese soll automatisch, z.B. per Agend 1x/Nacht ausgeführt werden. ...

Datenbanken
Hilfe bei SQL-Abfrage
gelöst Frage von emeriksDatenbanken5 Kommentare

Hi, gegeben: MS SQL Server 2005 eine DB mit 3 Tabellen Tabelle "Objekte" 2 Spalten: ID, Name Tabelle "Eigenschaften" ...

Neue Wissensbeiträge
Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 2 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Sicherheit

Teamviewer Sessions können gekapert werden - Update tw. verfügbar

Information von sabines vor 4 TagenSicherheit6 Kommentare

In bestimmten Konstellationen können Teamviewer Sessions gekapert werden, wahrscheinlich aber ein recht unwahrscheinliches Szenario. Da der Teamviewer gerne für ...

Digitiales Fernsehen

Apple TV: Amazon Prime App ist verfügbar

Information von Frank vor 4 TagenDigitiales Fernsehen4 Kommentare

Die Amazon Prime Video App kann ab sofort auf einem Apple TV ab der 3 Generation installiert werden. Einfach ...

Heiß diskutierte Inhalte
Vmware
Installation Windows 10 VMware
Frage von Ghost108Vmware17 Kommentare

Hallo zusammen, versuche gerade mit Hilfe des vshpere clients eine virtuelle Windows 10 maschine aufzusetzen. 1. virtuelle Maschine erstellt ...

Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server14 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Windows Server
Server 2012 über Eingabeaufforderung devmgmt.msc geht nicht
gelöst Frage von achim222Windows Server9 Kommentare

Hallo, ich habe hier einen Server 2012 der im Reparaturmodus startet. Es liegt an einem falschen VirtIO Treiber für ...