![]() |
Datenbank: beliebig • Zugriff über: beliebig
SQL (allg.): SELECT FIRST u.ä. oder <window clause>
Hallo,
ich habe mal wieder eine Frage zum SQL-Standard. Die Frage, wie die ersten/letzten n Datensätze geholt werden, wird in den verschiedenen DBMS unterschiedlich beantwortet: Firebird a: ROWS <value1> TO <value2> Firebird b: FIRST <value1> SKIP <value2> MS-SQL: TOP <value> PERCENT WITH TIES MySql, Oracle a: LIMIT <value1>, <value2> MySql, Oracle b: LIMIT <value1> OFFSET <value2> Im SQL-Standard 2003, konkret in der Datei 5WD-02-Foundation-2003-09.pdf von ![]() Andererseits gibt es dort die <window clause>, unter der ich mir nichts vorstellen kann. Kann mir jemand einen Hinweis darauf geben, inwieweit die FIRST-Regelung im SQL-Standard (2003 oder 2008) geregelt ist, und/oder was es mit der <window clause> auf sich hat? Danke! Jürgen |
Re: SQL (allg.): SELECT FIRST u.ä. oder <window clause>
Zur Window-Clause bin ich bei
![]() |
Re: SQL (allg.): SELECT FIRST u.ä. oder <window clause>
Danke für den Link, das ist etwas verständlicher als in der SQL-Dokumentation. Aber wozu es gut ist, verstehe ich weiterhin nicht. Ich glaube jetzt jedenfalls, dass es nichts mit meiner Hauptfrage nach SELECT FIRST u.ä. zu tun hat. Jürgen
|
Re: SQL (allg.): SELECT FIRST u.ä. oder <window clause>
|
Re: SQL (allg.): SELECT FIRST u.ä. oder <window clause>
Hallo Heiko,
danke für diesen Hinweis. Damit werde ich in der SQL-Dokumentation (2003 und 2008) mal nach ROW_NUMBER suchen. Die anderen Verfahren weichen zwar insofern davon ab, weil sie mit "normalen" Klauseln des SELECT-Befehls arbeiten und ROW_NUMBER() als Funktion deklariert wird. Aber mal sehen... Verwirrt hat mich zusätzlich ein Hinweis in der ![]() Zitat:
Gruß Jürgen |
Re: SQL (allg.): SELECT FIRST u.ä. oder <window clause>
Eher aus Kompatibilitätsgründen zu Interbase
|
Re: SQL (allg.): SELECT FIRST u.ä. oder <window clause>
Die Kompatibilität zu Interbase entspricht doch dem "älteren" Verfahren mit FIRST/SKIP. Aber ROWS? Oder hat IB inzwischen (d.h. seit der Trennung durch FB) ROWS eingeführt, und FB hat gleichgezogen? Das würde mich eher wundern.
Aber vielleicht kann Holger "seine" Formulierung kurz erklären. Jürgen |
Re: SQL (allg.): SELECT FIRST u.ä. oder <window clause>
First/Skip ist FB, bei IB hiess es schon immer ROWS. Deshalb wurde in FireBird das ROWS nachimplementiert
|
Re: SQL (allg.): SELECT FIRST u.ä. oder <window clause>
first und skip ist aber ein nicht so weit verbreiteter Standard, der offizielle Standard benutzt die Rows Syntax
hier ein Dokument zur SQL 2003 Syntax für Interessierte ![]() |
Re: SQL (allg.): SELECT FIRST u.ä. oder <window clause>
Zitat:
Zitat:
Dort wird ROWS wieder mit der <window clause> in Verbindung gebracht. Damit komme ich wieder zu meiner obigen Zusatzfrage: Wozu ist die gut? Nach Detlefs Antwort in #2 hatte ich vermutet, dass die nichts mit FIRST/LIMIT/TOP u.ä. zu tun hat. Oder etwa doch? Unter ![]() Zitat:
Gruß Jürgen PS. Nach Kritik am WikiBook insgesamt möchte ich zu gegebener Zeit fragen; im Moment geht es mir um korrekte Formulierungen in Einzelfragen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz