Jak očíslovat záznamy v dotazu SELECT?

9 příspěvků

Archiv diskusního fóra

Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.

  1. Kladu dotaz SELECT na tabulku a vyjede mi 100 řádků. Chci dotaz SELECT formulovat tak, aby výsledná sada záznamů měla nově vytvořený sloupec, kde by jednotlivé řádky byly očíslovány od 1 do 100, abych např. věděl, že 55. záznam je ta a ta položka, 75. zase jiná. Změním-li následně klauzulí ORDER BY řazení dat, měl by onen sloupec znovu obsahovat čísla od 1 do 100, tentokrát ale přiřazená jiným záznamům dle mnou zvoleného řazení. Jak na to? Poradí někdo?
  2. $cislo = '0'; while($vypis=mysql_fetch_array($tvuj_dotaz)){ $cislo++; echo $cislo.'. '.$vypis['jmeno_sloupce_z_db'].'<br>'; } no nejak takhle by melo fachat(nezkousel jsemto)
  3. Díky za odpověď, ale potřebuji číslovat výsledné záznamy už v jazyce SQL, aby byly viditelné přímo v klientovi MySQL, ne prostřednictvím PHP scriptu. Je to otázka spíše do nějakého MySQL fóra, ale přesto, neví si někdo rady?
  4. to myslis neco jako: id int NOT NULL auto_increment ?
  5. Ano. Ale pro výsledek dotazu SELECT. Dám SELECT, vyjede mi 100 záznamů a já chci vidět jejich pořadí ve výsledné sadě (co je na 34. řádku, co je na 78. řádku, atd.). Když pak zadám dotaz znovu v modifikované podobě (klauzulí ORDER BY změním pořadí), chci vidět, co je TENTOKRÁT na 68. řádku ("odshora"), atd. "id int NOT NULL auto_increment" přiřadí každému záznamu v tabulce pevné číslo, já chci jen vidět, když položím JAKÝKOLI dotaz SELECT na tabulku, kolikátý v pořadí je ten a kolikátý onen záznam. Šlo by to přes ty PHP skripty (iterace), ale nejde to docílit i v jazyce SQL? (Ptám se, jsem začátečníkem ve světě MySQL). Díky.
  6. No, nikdy jsem se s takovým požadavkem nesetkal, nenapadá mě praktický význam ale zkusím něco vymyslet. Počkej...
  7. Už jsem to nějak vyřešil. Vytvořil jsem TEMPORARY TABLE se sloupcem AUTO_INCREMENT, a do té tabulky jsem vložil řádky (INSERT INTO...), které byly výsledkem mého dotazu SELECT.
  8. A můžu se zeptat, k čemu je to dobré?
  9. Mám hudební databázi a v ní TOP 40, vyhodnocovanou každý týden. Když dělám vyhodnocení úspěšnosti písniček v hitparádě (třeba za rok 2004), potřebuji znát i příčku (tj. číslo řádku), na které se ta či ona skladba umístila. Jde to zařídit přes PHP (nebo jiné skripty), ale jen mě tak zajímalo, jestli to jde zvládnout i přímo v SQL. S pozdravem.

← Zpět na všechna témata