Prodej multi-eshopu DomaciCentrum.cz - čistá marže 750 000 Kč / rok
Zobrazují se odpovědi 1 až 11 z 11

Poradie riadku

  1. Zdravím,

    Príklad: mám SELECT s WHERE ID =5;

    Ako vypíšem hodnotu(pozicia) riadka, kde tento SELECT splňuje podminku?

    Príklad: podmienke vyhovuje 3. riadok, teda 3.

    Dík

  2. Happy Robot :]

    Co se právě děje na Webtrhu?

  3. Jak se pozná, že je to 3. řádek? Podle data vložení? Tak to pak budeš muset mít sloupec s datem vložení, podle toho to seřadit, udělat celý výpis tabulky (bez podmínky) a použít třeba RANK() na přidělení čísel, a potom to použít jako vnořený dotaz v souvislosti s tou tvojí podmínkou

    ---------- Post added 9.9.2011 at 15:29 ----------

    Kód:
    SELECT rn
      FROM (SELECT ROWNUM rn, t1.s
              FROM (  SELECT s
                        FROM tabulka
                    ORDER BY poradi) t1) t2
     WHERE t2.s = 5
    neřeším zde optimalitu, ale třeba takhle

  4. proste mám napríklad 10 záznamov. v tabuľke nemám žiadne dáta ktoré hovoria na akej je pozícii. Chcel by som vedieť na akom riadku sa nachádza záznam

  5. Záznamy v tabulce nemají žádné specifické pořadí, dokud nejsou seřazeny podle ORDER BY a DB je může vracet v náhodném pořadí, takže výsledek "řádek je 1. v pořadí" je správnou odpovědí na tvůj požadavek; řešením je tedy
    Kód:
    select 1 poradi from dual
    :-D

  6. aky zmysel alebo aku vypovednu hodnotu to akoze ma mat ? naco ti je vystup ze v konkretnom selecte sa hodnota nachadzala na 3tej pozicii ? nech rozmyslam ako rozmyslam nijake logicke vysvetlenie nenachadzam...

  7. A to já to chápu, mám třeba časy závodníků v cíli, a chci vědět, kolikátý byl Franta. Ale k tomu právě musí mít ty hodnoty k sestavení pořadí. Když nejsou (jak píše), tak to tedy vlastně taky nechápu...

  8. Když budu vycházet z toho, že v Oracle existuje něco jako ROWID volatelné při selectu, tak u MySQL by toho mohlo jít docílit například pomocí proměnné:

    set @cisloradku := 0;
    select *, @cisloradku := @cisloradku +1 as poradizavodnika from tabulka

    Pokud tedy dobře rozumím Tvému požadavku...

  9. proste chcem strankovanie a vediet na akej som pozicii

  10. Však v druhym postu je řešení, akorát je pro Oracle. Pro něco jiného si najdi jak v tom nahradit ROWNUM

  11. Nejdřív musíš podle nečeho data řadit. Předpokládám, že podle ID, když uvádíš ID = 5. Problém SQL dat je ten, že je můžeš řadit podle jakéhokoliv sloupce a pak se pořadí tvého konkrétního řádku může dost měnit. Takže musíěš mít nějaký jednoznačný unikátní identifikátor podle kterého data seřadíš, může to být ID, nějaké pole s datumem apod.

    Jinak řešení jde nalét poměrně snadno na Google pomíc fráze "MySQL get row number", konkrétně hned první článek http://jimlife.wordpress.com/2008/09...wnum-in-mysql/ ukazuje SQL dotaz kterým jde udělat přesně to co chceš.

  12. Citace Původně odeslal FAKAM Zobrazit příspěvek
    proste chcem strankovanie a vediet na akej som pozicii
    Pro účely stránkování jednoduše používejte LIMIT a v session (nebo jiném perzistentním parametru) si držte číslo stránky, na které jste.

    ---------- Příspěvek doplněn 17.09.2011 v 09:29 ----------

    Citace Původně odeslal duben Zobrazit příspěvek
    Nejdřív musíš podle nečeho data řadit.
    Ve skutečnosti podle ničeho řadit nemusíte. Ale obvykle je dobrý nápad to dělat a téměř vždy je tam alespoň jeden sloupec, který z hlediska uživatele dává smysl pro default řazení - typicky čas nebo id.

Hostujeme u Server powered by TELE3