![]() |
![]() |
--Mati-- |
![]()
Post
#1
|
Goście ![]() |
Mam takie zapytanie:
Powiedzmy, że 100 rekordów spełnia te założenia, ale chciałbym, żeby to zapytanie nie zawracało mi pierwszego pasującego wyniku tylko jakiś losowy z tych stu. Nie wiem jak to zrobić, może wprowadzić tam gdzieś rand(), tylko gdzie i jak ? |
|
|
![]() |
--Mati-- |
![]()
Post
#2
|
Goście ![]() |
Po dodaniu do zapytania: ORDER BY RAND(), całość wykonuje się kilkaset razy wolniej niż bez tego, więc ten sposób odpada.
Macie jakieś pomysły jak w inny sposób zmusić zapytanie do pokazania losowego wyniku z puli wyników ? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 14 Dołączył: 14.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
1. ORDER BY RAND() LIMIT 1 - rozwiązanie ZŁE, w przypadku dużej liczby rekordów dla każdego wyniku musi zostać obliczona liczba pseudolosowa i na końcu wykonane sortowanie
2. SELECT COUNT(*) AS c FROM m WHERE (warunki) i w PHP:
Zdrówka życzę. Ten post edytował AlexDeLarge 13.07.2011, 13:41:54 |
|
|
--mati-- |
![]()
Post
#4
|
Goście ![]() |
Dzięki za pomoc, zaraz to przetestuje.
Mam jeszcze pytanie, jaka funkcja jest potrzebna aby pobierać wyniki w ten sposób:
Ja zawsze bawie się tak:
Ale chyba Twoim sposobem szybciej. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 85 Pomógł: 14 Dołączył: 14.02.2010 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 09:43 |