Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zapytanie
Norbit_24
post
Post #1





Grupa: Zarejestrowani
Postów: 163
Pomógł: 2
Dołączył: 7.03.2009

Ostrzeżenie: (0%)
-----


Witam

Mam takie zapytanie:

  1. $zapytanie = mysql_query("SELECT * FROM tabela WHERE `cos`='cos' ORDER BY RAND() LIMIT 1") or die ("Błąd w zapytaniu");


Działa ok. Wyciaga 1 losowy rekord.
Ale chciałbym zrobić tak:
Mam w bazie ponad 30rekordów.
I chcę pobrać 10 z nich sprtowaniem ORDER BY id DESC, nastepnie wylosować [ORDER BY RAND()] z tych dziesięciu jeden i go pobrać.

Czy jest to możliwe?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Wicepsik
post
Post #2





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


  1. SELECT * FROM tabela WHERE id IN(SELECT id FROM tabela DESC LIMIT 10) ORDER BY RAND() LIMIT 1


Nie sprawdzałem czy działa.
Go to the top of the page
+Quote Post
Norbit_24
post
Post #3





Grupa: Zarejestrowani
Postów: 163
Pomógł: 2
Dołączył: 7.03.2009

Ostrzeżenie: (0%)
-----


SELECT * FROM tabela WHERE id IN(SELECT id FROM tabela DESC LIMIT 10) ORDER BY RAND() LIMIT 1

trzeba dodać jeszcze do tego WHERE cos='cos' tak jak podąłem w przykładzie
Go to the top of the page
+Quote Post
Wicepsik
post
Post #4





Grupa: Zarejestrowani
Postów: 1 575
Pomógł: 299
Dołączył: 26.03.2009

Ostrzeżenie: (20%)
X----


  1. SELECT * FROM tabela WHERE cos = 'cos' AND id IN(SELECT id FROM tabela DESC LIMIT 10) ORDER BY RAND() LIMIT 1


Ten post edytował Wicepsik 12.04.2010, 16:25:38
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 08:31