Autor Zpráva
Mirko Pýrko
Profil *
Potřebuji ideálně v jednom selectu vybírat deset posledních položek dle ID s tím že jen u nejvyššího (nejnovějšího) ID potřebuji vybrat zároveň i obsah dalších řádků.

Mohl bych použít jednoduše avšak neoptimální strukturu:

SELECT id, polozka1, polozka2, polozka3 FROM moje_tabulka BY id DESC LIMIT 10

Ovšem položky řádků obsahují poměrně obsáhlá data, tak je vybírat navíc nechci když nejsou potřeba u dalších ID....

Jak se to dá zapsat do jediného "řádku / selectu"?

Dík moc, začínám ;-) ...
Kajman
Profil
Osobně bych použil dva dotazy.

Ale lze použít např. union.
select * from
(
  (select id, text      FROM moje_tabulka JOIN druha_tabulka ON ... ORDER BY id DESC LIMIT 1)
    union all
  (select id, null text FROM moje_tabulka ORDER BY id DESC LIMIT 1, 9)
) t

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0