Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] Wybieranie od konkretnego rekordu do końca zwróconych wyników
lorak110786
post
Post #1





Grupa: Nieautoryzowani
Postów: 34
Pomógł: 1
Dołączył: 22.06.2009
Skąd: Koszalin/Poznań

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


Mam proste zapytanie
  1. SELECT oh_id, oh_data FROM osoba_historia WHERE oh_osoba='1037' ORDER BY oh_data DESC


Tym zapytaniem zwracanych jest powiedzmy 12 rekordów, są posegregowane malejąco. Chciałbym aby z tej dwunastki zwracane były tylko rekordy od szóstego do ostatniego. Zwracanie pierwszych pięciu jest łatwe (LIMIT 5), natomiast w drugą stronę jest problem. Wpadłem na pomysł żeby posegregować je rosnąco zamiast malejąco i zlimitować zliczając i odejmując od wyniku pożądaną wartość (np 5). Coś na zasadzie

  1. SELECT oh_id, oh_data FROM osoba_historia WHERE oh_osoba='1037' ORDER BY oh_data ASC LIMIT (COUNT(*)-5)


Niestety, jak się łatwo domyślić, to nie działa. Czy jest jakiś sprytniejszy sposób?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




LIMIT może przyjąć 2 parametry. Ty używasz wersji LIMIT X, ale jest jeszcze LIMIT X, Y. Zobacz co ona powoduje i pomyśl jak to wykorzystać winksmiley.jpg

Zacytuję tylko dokumentację do MySQL w takim wypadku i myślę że skorzystasz...

Cytat
To retrieve all rows from a certain offset up to the end of the result set, you can use some large number for the second parameter. This statement retrieves all rows from the 96th row to the last:

SELECT * FROM tbl LIMIT 95,18446744073709551615;


EDIT: Jeśli nie wierzysz to sobie znajdź to tutaj,bo na sztywno przekleiłem:
http://dev.mysql.com/doc/refman/5.0/en/select.html

Ten post edytował thek 17.12.2009, 22:59:11


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
lorak110786
post
Post #3





Grupa: Nieautoryzowani
Postów: 34
Pomógł: 1
Dołączył: 22.06.2009
Skąd: Koszalin/Poznań

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


Dokładnie o to mi chodziło:) Że też nie wpadłem na to żeby przyjrzeć się opcji LIMIT uważniej... Dzięki:)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 00:48