Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Czy da się połączyć ORDER BY rand() i ORDER BY date DESC?
Forum PHP.pl > Forum > Przedszkole
-alarmus-
Mam pytanie.
Piszę właśnie nowy skrypt i na własne potrzeby zrobiłem coś takiego:
  1. $query = "SELECT * FROM indeks ORDER BY rand() AND ORDER BY date DESC LIMIT 4";

O co chodzi: chcę, by wyciagało z tabeli 4 ostatnio dodane rekordy, lecz te 4 rekordy wyświetlać się mają losowo.
Czy da się tak? Bardzo proszę o odp.

Z góry dziękuję.
Pozdrawiam.
Crozin
  1. SELECT ... ORDER BY `date` DESC, RAND() LIMIT 4;
Jednakże to zapytanie będzie powolne, lepiej skorzystać z czegoś w tym rodzaju:
  1. SELECT * FROM (
  2. SELECT ... FROM ... ORDER BY `date` DESC LIMIT 4
  3. ) ORDER BY RAND();
-alarmus-
Dałem tak:
  1. $query = "SELECT * FROM (SELECT * FROM indeks ORDER BY date DESC LIMIT 4) ORDER BY rand()";

ale nic nie wyświetla sad.gif
lena
Niestety ale nie działa takie zapytanie
freemp3
Polecenie które wyciąga pierwsze 4 wiersze powinno mieć alias.
Kod
SELECT * FROM (SELECT * FROM indeks ORDER BY date DESC LIMIT 4) AS t ORDER BY rand()
lena
freemp3 - teraz elegancko smile.gif
Tylko co daje to : AS t?
drPayton
Wymóg mysql. Gdybyś miał włączone wyświetlanie/logowanie błędów zobaczyłbyś komunikat błędu "Every derived table must have its own alias".
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.