Jak mogę wybierać wiersze według zakresu?


Możliwy duplikat

:
Instrukcja Select w SQLite rozpoznająca numer linii
https://coderoad.ru/8976925/Na przykład
SELECT * FROM table WHERE [wiersz] BETWEEN x AND y
Jak mogę to zrobić? Przeczytałem kilka rzeczy, ale nie znalazłem nic szczególnie poprawnego.
Wyobraź sobie listę, na której chcesz, aby wyniki były podzielone na X liczby wyników, więc na stronie 10 potrzebujesz wyników z 10 * X do 10 * X + x wierszy, zamiast wyświetlać WSZYSTKIE wyniki za jednym razem
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

W przypadku mysql masz limit, możesz uruchomić zapytanie takie jak:
SELECT * FROM table limit 100` -- get 1st 100 records
SELECT * FROM table limit 100, 200` -- get 200 records beginning with row 101

W przypadku Oracle możesz użyć

rownum
http://docs.oracle.com/cd/B283 ... 9.htm
Zobacz składnię i użycie mysql select
limit

tutaj
http://dev.mysql.com/doc/refman/5.6/en/select.html
.
W przypadku SQLite masz
limit, offset
. Nie korzystałem z SQLite, ale przetestowałem go w

dokumentacja
http://www.sqlite.org/lang_select.html
SQLite. Sprawdź przykład dla SQLite

tutaj
http://souptonuts.sourceforge. ... .html
.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

możesz użyć

rownum
http://www.adp-gmbh.ch/ora/sql/rownum.html
:
SELECT * FROM table WHERE rownum > 10 and rownum <= 20
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Po twoim

wyjaśnienia

szukasz limitu:
SELECT * FROM `table` LIMIT 0, 10

Spowoduje to wyświetlenie pierwszych 10 wyników z bazy danych.
SELECT * FROM `table` LIMIT 5, 5 .

Wyświetli się 5-9 (5,6,7,8,9)
Składnia jest zgodna ze wzorem:
SELECT * FROM `table` LIMIT [row to start at], [how many to include] .

SQL, aby wybrać wiersze, w których

kolumna

jest pomiędzy dwiema wartościami, to:
SELECT column_name(s)
FROM table_name
WHERE column_name
BETWEEN value1 AND value2

Cm.:

http://www.w3schools.com/sql/ sql_between.asp
http://www.w3schools.com/sql/sql_between.asp
Jeśli chcesz przejść do numeru wiersza, możesz użyć rownum:
SELECT column_name(s)
FROM table_name
WHERE rownum
BETWEEN x AND y

Musimy jednak wiedzieć, do której używanego silnika bazy danych, ponieważ Rownu jest inna niż większość.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Użyj między warunkami
SELECT *
FROM TEST
WHERE COLUMN_NAME BETWEEN x AND y ;

Lub używając tylko operatorów,
SELECT *
FROM TEST
WHERE COLUMN_NAME >= x AND COLUMN_NAME <= y;
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Zakładając, że
id
jest kluczem podstawowym tabeli:
SELECT * FROM table WHERE id BETWEEN 10 AND 50

Pierwsze 20 wyników
SELECT * FROM table order by id limit 20;
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Czy próbowałeś własnego kodu?

To powinno działać:
SELECT * FROM people WHERE age BETWEEN x AND y
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Posługiwać się


Klauzula LIMIT:
/* rows x- y numbers */
SELECT * FROM tbl LIMIT x,y;

kontakt:

http://dev.mysql.com/doc/refma ... .html
http://dev.mysql.com/doc/refman/5.0/en/select.html

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się