Aufgeteilte SQL abfrage möglich?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Aufgeteilte SQL abfrage möglich?

    Hallo,

    ich muss ein Abfrage der folgenden Art machen:

    Aus einer tabelle müssen z.B. 5 datensätze zurückgegeben werden, die in einem feld a die bedinung B erfüllen, in einem Feld b die bedingung A, dabei soll alles nach feld score absteigend geordnet werden (also damit die 5 mit dem höchsten score ausgegeben werden).

    Dann gibt es eine weitere bedingung C und z.B. 12 datensätze, und dafür auch wiede

    Aus der tabelle müssen 12 datensätze zurückgegeben werden, die in einem feld a die bedinung C erfüllen, in einem Feld b die bedingung A, dabei soll alles nach feld score absteigend geordnet werden (also damit die 12 mit dem höchsten score ausgegeben werden).

    Dann bedingung D und z.B. 7 datensätze etc. pp.


    ich könnte dafür natürlich ein script in php oder was auch immer schreiben. aber geht das in einem SQL befehl?

    grüße,

    EHW
  • Hi,
    handelt es sich denn bei allen Datensätzen um den selben Datentyp/die gleiche Tabelle?
    Dann kannst du das z.B. mit UNIONs machen.

    Quellcode

    1. (SELECT * FROM x ORDER BY id ASC LIMIT 5)
    2. UNION
    3. (SELECT * FROM x ORDER BY id DESC LIMIT 5)


    Wenn es sich um verschiedene Datensätze handelt, dass solltest du die Anfragen nicht bündeln und - sollte es zu Performance-Engpässen kommen - stattdessen über besseres Model Caching nachdenken.