Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

order by i rand()

[es] :: MySQL :: order by i rand()

[ Pregleda: 1830 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Keyframe
Keyframe
Zagreb

Član broj: 96054
Poruke: 14
*.adsl.net.t-com.hr.



Profil

icon order by i rand()15.06.2006. u 15:57 - pre 217 meseci
npr slijedeci query

Code:

SELECT * FROM stranice ORDER BY RAND() LIMIT 5


kako bih dobio 5 random selectova..

a kako sortirati tih 5 random rezultata po npr. title polju, sve unutar jednog query-a?

order by rand(), title naravno nece raditi
 
Odgovor na temu

Keyframe
Keyframe
Zagreb

Član broj: 96054
Poruke: 14
*.adsl.net.t-com.hr.



Profil

icon Re: order by i rand()15.06.2006. u 23:01 - pre 217 meseci
evo iskopao sam nešto

dakleako nekoga bude zanimalo, a naleti na ovo

Code:

SELECT *
  FROM pages AS p1 JOIN 
       (SELECT ROUND(RAND() * 
                     (SELECT MAX(id) 
                        FROM pages)) AS id)
        AS p2 
 WHERE p1.id >= p2.id 
 ORDER BY p1.texttype ASC 
 LIMIT 5;


jedini problem sa ovakvim query-em je pošto sekvencijalno vuce id-eve.. ako se rand zalomi pred kraj zapisa.. query ne garantira uvijek 5 zapisa..

- edit
:) zaboravio sam reci.. cak i 5 ovakvih query-a sa LIMIT 1 je brze od jednog obicnog order by rand()
 
Odgovor na temu

[es] :: MySQL :: order by i rand()

[ Pregleda: 1830 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.