TOC

This article has been localized into Russian by the community.

PHP и MySQL:

MySQL и раздел LIMIT

Иногда из таблицы требуется извлечь лишь некоторое количество строк, а не все, например, если вы организуете постраничный вывод информации, где на каждой страницы выводится заданное количество записей. В MySQL вы можете ограничить число возвращаемых строк с помощью ключевого слова LIMIT. Вот пример:

SELECT name, country FROM test_users LIMIT 3

Этот запрос вернет первые 3 строки, записанные в таблицу, но в большинстве случаев требуется упорядочить данные, чтобы получить первые строки в результате определенной сортировки. К счастью, мы уже изучили ключевое слово ORDER BY в предыдущем разделе, а вот пример с комбинацией этих разделов:

SELECT name, country FROM test_users ORDER BY country LIMIT 3

Этот запрос вернет нам первые три строки на основе названия страны, а не порядка строк в таблице по умолчанию, а это обычно сортировка по первичному ключу. За ключевым словом LIMIT может следовать один или два параметра. Если параметр только один, он будет определять число возвращаемых строк, но если заданы два параметра, первый будет определять первую строку, а второй параметр - число возвращаемых строк. Вот пример:

SELECT name, country FROM test_users ORDER BY country LIMIT 1, 3

Этот запрос вернет три строки, начиная со второй строки, упорядочив данные по названию страны. Вы можете подумать, что первый параметр должен быть равен 2, а не 1, чтобы начать со второй строки, но ключевое слово LIMIT ведет отсчет строк с нулевого индекса, так что мы начинаем счет с 0, а не с 1. Так что, чтобы начать с первой строки, нужно указать номер 0 (по умолчанию), со второй - номер 1, с третьей - номер 2 и т.д. (Прим. перев. - иначе, можно сказать, что первый параметр - это сколько строк мы хотим пропустить).

Чтобы протестировать все предыдущие примеры, вы можете использовать тестовый код, который мы написали в предыдущих параграфах. Просто поместите один из запросов внутрь функции mysql_query() и запустите код:

mysql_connect("localhost", "username", "password");
mysql_select_db("my_database");

$query = mysql_query("Insert your SQL query here");
while($row = mysql_fetch_array($query))
    echo $row["name"] . " is from " . $row["country"] . "<br />";

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!