[MySQL] Jak pobrać wybrany zakres rekordów

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
Tecno
Nowy
Nowy
Posty: 28
Rejestracja: wt sie 14, 2007 1:44 pm

[MySQL] Jak pobrać wybrany zakres rekordów

Post autor: Tecno »

Jakiego polecenia użyć aby pobrać nie 1 wybrany rekord a np. przedział od 5 do 15?

$query = "SELECT content FROM table WHERE id = 5";
slawko
Nowy
Nowy
Posty: 127
Rejestracja: ndz sty 23, 2005 6:43 pm
Kontakt:

Re: [MySQL] Jak pobrać wybrany zakres rekordów

Post autor: slawko »

Kod: Zaznacz cały

SELECT content FROM table limit 5,15
od 5 rekordu 15 rekordów
LaoHost.pl
Posty: 1
Rejestracja: czw wrz 17, 2009 2:42 pm
Kontakt:

Re: [MySQL] Jak pobrać wybrany zakres rekordów

Post autor: LaoHost.pl »

Kod: Zaznacz cały

SELECT content FROM table WHERE id >= 5 AND id <= 15
SzamanGN
Nowy
Nowy
Posty: 92
Rejestracja: pn lis 27, 2006 3:28 pm
Kontakt:

Re: [MySQL] Jak pobrać wybrany zakres rekordów

Post autor: SzamanGN »

Nie opowiadajcie farmazonów!
Aby wybrać z danego zakesu należy użyć BETWEEN od_wartości AND do_zawartości.

Kod: Zaznacz cały

SELECT content FROM table WHERE id BETWEEN 5 AND 15
szczypior
Nowy
Nowy
Posty: 46
Rejestracja: pn lut 26, 2007 1:38 pm
Kontakt:

Re: [MySQL] Jak pobrać wybrany zakres rekordów

Post autor: szczypior »

Kod: Zaznacz cały

SELECT content FROM table limit 4,11
Tym zapytaniem pobierzesz rekordy od 5 do 15 (11 rekordów, zaczynając od rekordu nr 5).
SzamanGN
Nowy
Nowy
Posty: 92
Rejestracja: pn lis 27, 2006 3:28 pm
Kontakt:

Re: [MySQL] Jak pobrać wybrany zakres rekordów

Post autor: SzamanGN »

Tecno napisz dokładnie, co chcesz osiągnąć, bo jak widzę, to każdy ma odpowiedź na inny temat.

Mamy tabelę `table` z polami: `id` | `wartosc`

Chcemy otrzymać wynik w postaci:
1. Wszystkie wpisy w tabeli.

Kod: Zaznacz cały

SELECT content FROM table
2. Pokaż tylko rekordy pomiędzy 5 a 15 z wszystkich wpisów w tabeli.

Kod: Zaznacz cały

SELECT content FROM table LIMIT 5,15
2. Tylko rekordy z zakresu `id` pomiędzy 5 i 15.

Kod: Zaznacz cały

SELECT content FROM table WHERE id BETWEEN 5 AND 15
3. 10 pierwszych losowo wybranych rekordów.

Kod: Zaznacz cały

SELECT content FROM table ORDER BY RAND() LIMIT 10
Tecno
Nowy
Nowy
Posty: 28
Rejestracja: wt sie 14, 2007 1:44 pm

Re: [MySQL] Jak pobrać wybrany zakres rekordów

Post autor: Tecno »

Dzięki za pomoc. To czy pobierze mi 10 czy 11 to już tak bardzo nie istotne.

Tak przy okazji zapytam, żeby nie zakładać nowego topicu. Jakiej funkcji użyć aby z pliku tekstowego pobrać np. 300 pierwszych znaków?
szczypior
Nowy
Nowy
Posty: 46
Rejestracja: pn lut 26, 2007 1:38 pm
Kontakt:

Re: [MySQL] Jak pobrać wybrany zakres rekordów

Post autor: szczypior »

fread($plik,300);
ODPOWIEDZ