[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.765
    Das Problem ist halt nur, dass Order By in Subqueries i.d.R. ignoriert werden.
    Da gilt dann meist die Sortierung nach Satznummer.
    M.a.W., der Limit funktioniert, der Order-By aber nicht.
    Limit ist auch nur eine andere Schreibweise (näher am SQL-Standard) als "fetch first n rows only".

    Dein SQL wird nämlich umgebaut in

    Select Min(K1), Max(K1)
    from (
    Select K1 from YourTable
    Limit 10000
    )

    With-Konstrukte erleichtern uns nur das Lesen von SQL's wowie die Wiederverwindung in mehreren Joins. Dies heißt ebenso, dass eine Mehrfachverwendung einer With-Table auch mehrfach gelesen wird.

    Nachdem ich nun mal an eine V7-Mschine gekommen bin, konnte ich prüfen, dass im Gegensatz zu früher ein "Order By" nun doch angewendet wird.
    Wann immer das nun mal dazugekommen ist.

    Beim Lateral Table geht das schon länger, bei Subqueries nun wohl auch.
    Aber dies ist eher nicht Standard-SQL, denn der Microsoft SQL-Server lehnt dies ab.

    Die Alternative wäre ansonsten noch

    Select Min(K1), Max(K1)
    from (
    Select K1, row_number() over(order by K1) as rowno
    from YourTable
    )
    where rowno <= 10000
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.936
    M.a.W., der Limit funktioniert, der Order-By aber nicht.
    Natürlich funktionniert der LIMIT in Verbindung mit einem ORDER BY.
    In diesem Fall wird nämlich zunächst das volle Query ausgeführt und dann die gewünschte Anzahl an Datensätzen zurückgegeben.
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.765
    In der Vergangenheit habe ich viele Subqueries mit Order by probiert, die alle nicht funktionierten.
    Dass dies nun ab V7Rx TRy klappt kann ich auch nicht immer probieren.
    Gestern war ich mal wieder auf einer Kundenmaschine mit V7R3 wo das dann funktionierte.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. OPNQRYF Anzahl Datensätze ermitteln
    By timeless in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 04-05-10, 13:33
  2. Anzahl Sätze (Count) aus 2 Dateien via SQL
    By Jenne in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 26-09-08, 16:22
  3. Anzahl Sätze bei CPYFRMSTMF
    By Liebhoff in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 30-11-07, 13:16
  4. Anzahl Dateien in IFS-Verzeichnis ermitteln
    By COS in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 22-11-07, 14:06
  5. Anzahl gelöschter Sätze
    By f.g. in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 15-08-05, 14:25

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •