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

Probleme mit SQL Statement im Oracle SQL Developer

Frage Entwicklung Datenbanken

Mitglied: gex01

gex01 (Level 1) - Jetzt verbinden

10.01.2008, aktualisiert 11.01.2008, 16012 Aufrufe, 4 Kommentare

Datenbank: Oracle 10g

Hallo ich möchte gerne den TOP 1 Befehl von SQL nutzen und habe daher folgenden Befehl gebastelt:

select top 1 from Tabelle where Spalte = Wert

Wenn ich diesen Befehl allerdings ausführen will erhalte ich die Fehlermeldung 923:
"FROM Keyword not found where expected"

Auch der Befehl:

select top 1 Spalte from Tabelle where Spalte = Wert

brachte keinen Erfolg.

Ich habe mal gehört das der Befehl "TOP" nicht überall unterstützt wird.
Da ich Anfänger in diesem Bereich bin wollte ich nun fragen, ob dem so ist, bzw. wo ich die mir zur Verfügung stehende Syntax finden kann ...

Vielen Dank

Gruß
Björn
Mitglied: SvenGuenter
11.01.2008 um 09:09 Uhr
SELECT product, descr, email
FROM products
WHERE ROWNUM = 1

ist das äquivalent zu Select TOP1


wenn du die ersten 10 Sätze haben willst

SELECT product, descr, email
FROM products
WHERE ROWNUM <= 10

Zur Info nebenbei in MySQL ist es

SELECT product, descr, email
FROM products
LIMIT 10
Bitte warten ..
Mitglied: gex01
11.01.2008 um 14:44 Uhr
Also, vielleicht fange ich noch mal etwas weiter oben an ...
Eigentlich will ich erreichen, dass er nach dem ersten gefundenen Datensatz mit der Suche aufhört und nicht noch weiter die Daten durchsucht.

Bsp.: Finde den ersten (und nur den ersten) Datensatz in dem in der Spalte Products 'Bier' vorkommt und zeige diesen an, ohne danach weiter durch die Daten zu suchen. Will damit erreichen, dass er bei einer Tabelle von 10 Mio Zeilen nur bis zum ersten Treffer sucht und nicht bis zum Ende.

Dies soll der select top 1 können, der aber leider nicht funktioniert ( ebenso wie auch der limit nicht funktioniert).

Der where rownum ist hierfür leider nicht geeignet, da ich ja nicht weiss in welcher Zeile der Treffer steht.
Bitte warten ..
Mitglied: SvenGuenter
11.01.2008 um 15:23 Uhr
SELECT product, descr, email
FROM products
WHERE ROWNUM <= 1 and product="Bier"


das liefert dir die 1. Zeile wo das Produkt Bier ist.

es geht auch folgendes
SELECT product,etc,etc FROM
( SELECT product,etc,etc FROM Products Where Product = 'Bier')
WHERE rownum <= 1

Das ist übrigens die von Oracle empfohlene Schreibweise
Erläuterung
selektiere product,etc,etc aus der selektion produkt,etc,etc von produkt wo produklt gleich 'Bier' ist und daraus nur die erste reihe.


[edit] No problem Biber freue mich das ich mal schneller als du war ;o) [/edit]

Wie ich schon Schrieb Top 1 ist MSSQL und Limit isr MYSQL diese Befehle kannst du NICHT verwenden
Bitte warten ..
Mitglied: Biber
11.01.2008 um 15:30 Uhr
Moin gex01,

SvenGuenther hat schon ziemlich recht mit der ROWNUM-Syntax.
Natürlich macht es nur einen Sinn, wenn Du Deine bisherige WHERE-Klausel auch (als erstes) mit beibehältst.

01.
SELECT product, descr, email 
02.
FROM products  
03.
WHERE products LIKE '%Bier%'  
04.
and ROWNUM = 1
Das wäre dann das Äquivalent zum "TOP x,y" oder "FETCH FIRST x ROWs ONLY" aus anderen "Standard"-SQL-Datenbankprodukten.

Grüße
Biber
[Edit] Sorry, SvenGuenther, hab zu langsam getippt [/Edit]
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Datenbanken
gelöst SQL Statement auseinandernehmen Like (20)

Frage von H41mSh1C0R zum Thema Datenbanken ...

Windows Server
SQL Server 2014 Developer downgrade auf SQL 2008 R2 (8)

Frage von Sachellen zum Thema Windows Server ...

Windows Server
gelöst Probleme mit dem SQL Management Studio - Editor (6)

Frage von Sachellen zum Thema Windows Server ...

Datenbanken
Problem beim Export aus dem SQL-Developer (4)

Frage von Roadrunner777 zum Thema Datenbanken ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...