2015-01-29 1 views
3

Прошу прощения, если этот вопрос уже задан, я уверен, что я просто не смог найти аналогичный вопрос/ответ, который решил мою проблему.PHP/SQL - Показать определенное количество строк для запроса

Я потянув данные из PostgreSQL и у меня есть оператор SQL, подобный:

$SQL = "SELECT * FROM my_view_table WHERE id='".$my_id."'"; 

Из этого я бегу мой запрос. Запрос извлекается из представления в PostgreSQL, который просматривает больше таблиц. Это верно. Я не уверен, как ограничить количество отображаемых строк. Я получаю около 1000 строк информации с примерно 20 столбцами данных, поэтому для запроса требуется невероятное количество времени.

Есть ли способ запросить строки 0 - 100, затем 101 - 200 и т. Д., Чтобы я мог отображать 100 за раз? Я знаю, что мне нужно будет использовать небольшой код для отслеживания счета, но мне просто нужна помощь SQL с запросом строк «x to y».

Благодарим вас за помощь в решении этой проблемы. (Если есть еще один очень похожий вопрос, на который уже был дан ответ, ссылка на это будет достаточным ответом!)

Я отправил ответ на свой вопрос ниже.

+2

Вы можете использовать LIMIT на вашем SQL? Прошло некоторое время, так как я использовал PostgreSQL, и я не уверен, как настроено ваше представление. – Halfstop

+0

Вид - это просто «Выбрать X, Y, Z FROM Table a LEFT JOIN ... WHERE ... GROUP BY ...» Я посмотрю LIMIT для SQL. – Brandon

+1

'' SELECT * FROM my_view_table WHERE id = '". $ My_id." LIMIT 50 "' http://www.postgresql.org/docs/8.1/static/queries-limit.html – Alex

ответ

2

Я нашел ответ на этот вопрос от угловатого-й предложения LIMIT на SQL

$sql = "SELECT * FROM my_table LIMIT X OFFSET Y"; 

Где LIMIT дает только X количество строк, которые вы хотите, и OFFSET дает Y отправной точку. Таким образом, показывая строки 0 до 30:

$sql = "SELECT * FROM my_table LIMIT 30 OFFSET 0"; 

и творящий строки 31 по 60:

$sql = "SELECT * FROM my_table LIMIT 30 OFFSET 30"; 
Смежные вопросы