Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 14 Dołączył: 14.07.2011 Skąd: Gliwice / Wrocław Ostrzeżenie: (0%)
|
Witam,
w jaki sposób mogę wybrać z tabeli losowe rekordy z określonego przedziału? Przykładowo, takie coś:
wcale nie zwróci w losowej kolejności 4 rekordów, tylko zwraca w losowej kolejności wszystko, co jest w tabeli... Z drugiej strony takie coś:
działa idealnie, zwraca 4 rekordy posortowane malejąco. Jak więc zrobić, żeby dla ORDER BY RAND() również zwróciło 4 rekordy? Ten post edytował jg44 24.11.2011, 20:07:40 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 122 Pomógł: 14 Dołączył: 14.07.2011 Skąd: Gliwice / Wrocław Ostrzeżenie: (0%)
|
Super, dziękuję bardzo! (IMG:style_emoticons/default/smile.gif)
Przy okazji chciałbym zapytać jeszcze o jedną rzecz i żeby nie śmiecić, nie zakładać nowego tematu (IMG:style_emoticons/default/wink.gif) Mając te wylosowane rekordy, chciałbym je wstawić do innej tabeli (właściwie to update'ować). Problem polega na tym, że mam tabelę, w której są już jakieś 4 rekordy, i do każdego po kolei z nich wrzucić to, co zwróci w/w zapytanie. Jak można to zrobić? UPDATE nie przewiduje wrzucania 'hurtowej' ilości rekordów, tylko każe pojedynczo, a to delikatnie mówiąc nie jest zbyt wygodne, bo liczba update'owanych rekordów w przyszłości będzie się zmieniać (teraz jest to 4, a kiedyś może to być np. 27, itd. ...) Próbowałem tak:
Co prawda to się wykonuje, ale niestety źle, bo podzapytanie wyciąga tylko jeden rekord z tabeli 'tabela2' i update'uje go we wszystkich kolejnych rekordach w tabeli 'tabela1', zamiast wyciągać wszystkie... Ten post edytował jg44 25.11.2011, 16:17:24 |
|
|
|
jg44 [MySQL] Wybieranie losowych rekordów + LIMIT 24.11.2011, 20:06:58
uupah5 jedna i druga opcja powinna zwracać 4 rekordy.
jeś... 24.11.2011, 22:38:37
jg44 Nie do końca jasno się wyraziłem. Fakt, obie opcje... 24.11.2011, 22:42:57
nospor [SQL] pobierz, plaintext SELECT * FROM (SELECT... 25.11.2011, 08:50:28 ![]() ![]() |
|
Aktualny czas: 29.12.2025 - 10:52 |