Imaginární řádkování – MySQL – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Imaginární řádkování – MySQL – Fórum – Programujte.comImaginární řádkování – MySQL – Fórum – Programujte.com

 

Pilot0
Newbie
19. 2. 2008   #1
-
0
-

Zdravím vás,
potreboval bych si v db MySQL vytvorit imaginarni sloupec s cisly radku?

1) Toto mám
+------+---------------+
| id | n |
+------+---------------+
| 55 | Max Sydow |
| 61 | Count Dracula |
| 102 | Hala Bala |
+------+---------------+

2) Toto chci dostat
+------+---------------+--------------+
| id | n |moje_radkovani |
+------+---------------+--------------+
| 55 | Max Sydow | 1 |
| 61 | Count Dracula | 2 |
| 102 | Hala Bala | 3 |
+------+---------------+--------------+

predem dekuji za pomoc

Milan

Nahlásit jako SPAM
IP: 195.113.65.–
Santas0
Věrný člen
19. 2. 2008   #2
-
0
-

auto_incement?

Nahlásit jako SPAM
IP: 195.91.64.–
http://psandtner.sk/blog
hrach
~ Redaktor
+1
Boss
19. 2. 2008   #3
-
0
-

To Santas : trochu blbost, ne?

Nahlásit jako SPAM
IP: 193.179.169.–
http://jan.skrasek.com@hrachcz – webdeveloper
Santas0
Věrný člen
19. 2. 2008   #4
-
0
-

aha, on to tam nechce nastalo

Nahlásit jako SPAM
IP: 195.91.64.–
http://psandtner.sk/blog
19. 2. 2008   #5
-
0
-

Tohle jsem pred nedavnem taky resil. Nejlepsim resenim je vytvorit tam proste dalsi sloupec a pres PHP tam udrzovat ty indexy. Jine reseni moc neni (sice se to da nejak delat pres triggery, ale na to je myslim dokonce treba zakladat dalsi tabulku). Ver mi.

Ja to resil kvuli nahodnemu vybirani zaznamu...ono hold pri 10000 zaznamech ORDER BY RAND() uz moc nefunguje.

Nahlásit jako SPAM
IP: 81.30.238.–
Prosím, jestli potřebujete s něčím poradit,zeptejte se na fóru. Jakýkoliv bezdůvodný pokus mě kontaktovat skončí okamžitým přidáním do ignore listu![br][br] Současný počet osob, které to nepochopily: 7
toka0
Stálý člen
20. 2. 2008   #6
-
0
-

To CommanderZ : Ano resil jsem to taky tak, prida si novy sloupec a pres PHP to pak meni, kdyz to chce treba posunout - moveup, movedown.

Nahlásit jako SPAM
IP: 86.61.165.–
Tomáš Kavalek
maty0
Návštěvník
26. 2. 2008   #7
-
0
-

já bych se jen z dovolením zeptal naco je třeba číslo řádku když máme primární klíče....

Nahlásit jako SPAM
IP: 194.213.57.–
1 nebo 0 toť otázka
Prog.0
Věrný člen
26. 2. 2008   #8
-
0
-

To Pilot :

1.) Ako chápeš imaginárny stĺpec ?


2.a) Ak chceš len očíslovať riadky pri nejakom selektovaní, malo by stačiť toto:

SET @i:=0;

SELECT *, @i:=@i+1 as riadok FROM <tabulka>
Bude to však číslovať riadky daného selectu, nie riadky tabuľky.


2.b) Ak chceš pri selectovaní mať originálne poradové číslo daného riadku v tabuľke, tak si ten stĺpec radšej v tej tabuľke vytvor a obstarávaj.... Query, ktoré by to počítalo, by bolo asi dosť pomalé... Dané (pomalé query) by vyzeralo asi takto:

SET @i:=0;

SELECT <tabulka>.*,
tmp_r as riadok
FROM ((SELECT id as tmp_id,@i:=@i+1 as tmp_r FROM <tabulka> ORDER BY <A>) AS tmp JOIN <tabulka> ON tmp_id = id)
WHERE <B>
ORDER BY <C>;

// <A> je stĺpec, podľa ktorého chceš riadky číslovať
// <B> je klasická where podmienka, pri selektovaní
// <C> je stĺpec, ako chceš mať select zotriedený (order by)

3.) Ak chceš do tabuľky doplňiť takýto stĺpec, tak úplňe jednoducho (alter, update):
ALTER TABLE <tabulka> ADD COLUMN riadok INT unsigned ....

SET @i:=0;
UPDATE <tabulka> SET riadok = @i:=@i+1 ORDER BY <A>;

&btw,.. a aj mňa by zaujímalo, ... na čo chceš tie čísla riadkov.....?

Nahlásit jako SPAM
IP: 213.160.186.–
Prog.
Podhy
~ Anonymní uživatel
3 příspěvky
17. 5. 2008   #9
-
0
-

tady máš ještě ukázku řešení založenou na self joinu:
SELECT count(*), z1.jmeno, z1.prijmeni
FROM Zamestnanci z1
JOIN
Zamestnanci z2
ON z1.id >= z2.id
GROUP BY z1.jmeno, z1.prijmeni;

Nahlásit jako SPAM
IP: 213.226.226.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

Podobná vlákna

řádkování textu v GUI — založil Noneus

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý