[NEWSboard IBMi Forum]

Thema: SQL TOP 500

Hybrid View

  1. #1
    Registriert seit
    Mar 2006
    Beiträge
    4

    limit 0,30

    fetch first 30 rows only ist aber kein vollwertiger Ersatz für limit 0,30
    denn ich kann keinen Aufsetzpunkt definieren. Unter Mysql liefert mir Limit 60,30 z.B. 30 Datensätze beginnend mit dem 60. Datensatz. Gibts da eine Entsprechung auf der AS unter 5.2?

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Nein, da gibts keinen Ersatz. "Limit" ist eben ein SQL-Dialekt und eigentlich eher unsinnig. Ich würde lieber den SQL entsprechend kodieren, denn warum soll ich mehr lesen lassen als ich benötige ?
    Für "TOP x" sehe ich ja noch eine Anwendung.
    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

  3. #3
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Hallo,

    ab Release V5R4M0 kann man so etwas über OLAP Ranking-Funktionen bewerkstelligen.

    Vor Release V5R4M0 muss man sich halt ein entsprechendes SQL-Statement zusammenpfiemeln. Es funktioniert, aber die Performance wird bescheiden sein.

    Wie Fuerchau sagt, macht das eigentlich wenig Sinn. Es gibt jedoch Situationen in denen z.B. die Plätze 7-25 ermittelt werden müssen.

    Beispiel:
    PHP-Code:
    with x as (select from HsCommon05/adresse                         
                  order by KundeNr
    )                                     
    select from x as z                                                
       where 11 
    < (select count(*) from x where x.KundeNr z.KundeNr)  
         and 
    20 > (select count(*) from x where x.KundeNr z.KundeNr)  
    order by KundeNr 
    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

  4. #4
    Registriert seit
    Mar 2006
    Beiträge
    4
    Der Sinn ist folgender:

    Unter PHP wird über ODBC auf die DB2 zugegriffen und eine HTML-Liste erzeugt.
    Da es wenig sinnvoll ist, z.b. 200 Datensätze / Tabellenzeilen zu übertragen (es wird teilweise noch über Modem auf den Webserver zugegriffen) werden die ersten 25 Sätze angezeigt und unten eine Navigation (nächste 25). Mit "Limit x,y" ist so eine Navigation halt kinderleicht zu erstellen.

    Bisher hab ich mir die Daten nachts automatisiert auf eine MYSQL-Datenbank gezogen und von dort verwurstelt. Hat auch gut und zuverlässig funktioniert. Nun brauche ich die Daten aber in Echtzeit. Und jetzt quäle ich mich halt mit Zählern und Schleifen.

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Da hilft nur ein scrollable Cursor, mit dem man dann auch vor und zurück positionieren kann. Dies ist auf jeden Fall schneller als immer wieder den Select neu durchführen zu lassen und dann auch nur noch ein Teilergebnis auszuwerten dass von Aufruf zu Aufruf auch noch abweichen kann.
    Mit Limit belaste ich den Server stärker als mit einem positionierbaren SQL-Cursor (wobei der auch sowohl dynamisch als auch statisch sein kann).
    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. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL und OBJLCK
    By malzusrex in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 19-09-06, 11:04
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

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