Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z sortowaniem i limitem
Forum PHP.pl > Forum > Bazy danych
novdark
Witam,
Mam problem z zapytaniem, nie wiem dlaczego i jak przerobić zapytanie aby działał RAND():

SELECT id_akt, tytul_akt, priorytet, data_wprowadzenia, tresc_akt
FROM akt
WHERE priorytet != 0
ORDER BY data_wprowadzenia desc, RAND() LIMIT 8


może ktoś potrafi udzielić mi pomocy, będę wdzięczny...
rocktech.pl
Witam.

  1. SELECT
  2. `id_akt`,
  3. `tytul_akt`,
  4. `priorytet`,
  5. `data_wprowadzenia`,
  6. `tresc_akt`
  7. FROM
  8. `akt`
  9. WHERE
  10. `priorytet` != 0
  11. ORDER BY RAND()
  12. LIMIT 8


Doprecyzuj co chcesz osiągnąć?
novdark
no tak wszystko się zgadza, tylko brakuje w tym wszystkim ORDER BY DESC. Potrzebuję posortować malejąco wg daty i dopiero wybrać te 8 rekordów, a następnie je wyświetlać w różnej kolejności.
nospor
No to sie nie robi przecinka w order by bo to zupełnie czemu innemu służy...

  1. SELECT * FROM (
  2. SELECT id_akt, tytul_akt, priorytet, data_wprowadzenia, tresc_akt
  3. FROM akt
  4. WHERE priorytet != 0
  5. ORDER BY data_wprowadzenia DESC LIMIT 8) podsel ORDER BY rand()
thek
W takim razie masz 2 wyjścia:
a) albo mieszasz po stronie php już i nie robisz rand() w zapytaniu,
b) albo robisz order by data desc z limit 8 jako podzapytanie będące we FROM i dopiero to robisz jako order by rand()
Coś na zasadzie
  1. SELECT * FROM (SELECT * FROM tabela ORDER BY DATA DESC LIMIT 8) AS podzap ORDER BY rand()
novdark
Dzięki bardzo. Dokładnie o to mi chodziło smile.gif.
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.