Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 853 Pomógł: 25 Dołączył: 27.08.2003 Skąd: Katowice Ostrzeżenie: (0%)
|
PROBLEM
wyciągnięcie ostatnich X wierszy z wyniku zapytania (cos jak limit ale dla ostatnich, a nie pierwszych wierszy) przykladowo zwraca 1000 wierszy, a ja chcialbym tak skonstruowane zapytanie, ktory zwrociloby np. 50 ostatnich wierszy z tego co zwraca w/w zapytanie... ROZWIĄZANIE 1. mozna uzyc DESC a potem po stronie php posortowac z powrotem we wlasciwej kolejnosci, ale to dla mnie kombinowanie, nie licząc narzutu... 2. mozna zrobic najpierw SELECT COUNT(*) a potem 2-gie wlasciwie zapytanie podstawiajac w LIMIT otrzymany COUNT(*) minus ilość wierszy do wyciągnięcia. ale to ciagle 2 zapytania. bylbym rad gdyby dalo sie to jakos zrobic w jednym zapytaniu. ma ktos jakies pomysly? Ten post edytował sopel 1.12.2005, 19:58:49 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%)
|
No pewnie ze wydajniejsze - znajdz takie.
Mozna by przechowywac ilosc rekordow w innym rekordzie i potem
ale nie wiem czy SQL to przyjmie ---- Cytat (...)A potem array_reverse(). Co w tym złego :?: Cytat powiedzmy, ze chce wyciagnac ostatnich 1000 wierszy. najpierw sortowanie po stronie SQL a potem array_reverse jest stosunkowo kosztowne Co do sortowania: i tak zawsze* sortujesz
wiec kierunek nie ma znaczenia, a array_reverse() jest prosta funkcja/szybka - O( n ). *) Jedynie gdy nie wykonujesz zadnego sortowania
stracisz na tej metodzie -- ale kiedy uzyjesz tego SQLa??, kolejnosc dodawania rekordow nie musi byc odzwierciedlana przez ich kolejnosci przy takim zapytaniu. Ten post edytował dr_bonzo 1.12.2005, 20:52:28 |
|
|
|
sopel wyciagniecie ostatnich wierszy z wyniku zapytania 1.12.2005, 19:53:04
mike_mech [SQL] pobierz, plaintext SELECT * FROM tabela ORDE... 1.12.2005, 20:40:33
sopel Cytat(mike_mech @ 2005-12-01 20:40:33)[SQL] p... 1.12.2005, 20:42:33
SongoQ [SQL] pobierz, plaintext SELECT*FROM ( SELECT ... 1.12.2005, 21:23:40 ![]() ![]() |
|
Aktualny czas: 24.12.2025 - 09:19 |