Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.03.2015, 14:04   #1
Microplankton
Пользователь
 
Аватар для Microplankton
 
Регистрация: 02.03.2015
Сообщений: 24
По умолчанию Один запрос на 2 результата LIMIT

Можно ли в запросе использовать 2 варианта LIMIT?

Например

Select * FROM tab1 LIMIT 0, 100 OR LIMIT 200, 300

Или как иначе в одном запросе задать два возможных варианта по лимиту?

При этом нужно присвоить два варианта значения.

То есть например Select COUNT(id) FROM tab1 LIMIT 0, 100 OR LIMIT 200, 300

как получить одним запросом два счетчика, как для LIMIT 0, 100 так и для LIMIT 200, 300?
Microplankton вне форума Ответить с цитированием
Старый 18.03.2015, 14:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А зачем? Если не секрет конечно.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.03.2015, 14:59   #3
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

бессмысленная затея и запросы такие же
lomastr_ вне форума Ответить с цитированием
Старый 18.03.2015, 16:35   #4
Microplankton
Пользователь
 
Аватар для Microplankton
 
Регистрация: 02.03.2015
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
А зачем? Если не секрет конечно.

для сокращения времени, чтобы два раза не проходить таблицу на миллионы строк.

Если более точно, то скрипт должен определять на сколько страниц разбивать строки, потом вывести кнопки для страниц, далее отобразить страницы.

Получается что 2 раза запрос идет на таблицу, сначала count в запросе потом запрос и цикл while.

Вот бы за 1 запрос сделать это.

Последний раз редактировалось Microplankton; 18.03.2015 в 16:49.
Microplankton вне форума Ответить с цитированием
Старый 18.03.2015, 17:07   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

http://valera.ws/2007.08.29~sql_calc_found_rows/
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.03.2015, 17:57   #6
Microplankton
Пользователь
 
Аватар для Microplankton
 
Регистрация: 02.03.2015
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Супер, огромнейшее спасибо!
Microplankton вне форума Ответить с цитированием
Старый 18.03.2015, 19:38   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
скрипт должен определять на сколько страниц разбивать строки, потом вывести кнопки для страниц, далее отобразить страницы.
Тха! Так это во-первых можно достичь другими путями, скажем запоминая ключевое поле из последней выбранной записи, и после выбирать с тем же лимитом от нее, а во-вторых я не понимаю как ты от второго прохода будешь избавляться, если твой скрипт (как я понимаю) будет повторно запускаться при переходе по страницам?

Впрочем если ты решил задачу, пусть будет по твоему.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.03.2015, 22:47   #8
Microplankton
Пользователь
 
Аватар для Microplankton
 
Регистрация: 02.03.2015
Сообщений: 24
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Тха! Так это во-первых можно достичь другими путями, скажем запоминая ключевое поле из последней выбранной записи, и после выбирать с тем же лимитом от нее
Тут не в этом задача, а задача в том что нужно определить число страниц и лимитировать число показа.


Цитата:
Сообщение от Stilet Посмотреть сообщение
а во-вторых я не понимаю как ты от второго прохода будешь избавляться, если твой скрипт (как я понимаю) будет повторно запускаться при переходе по страницам?
Аватар подсказал правильно, не смотря на то что я наверное не совсем корректно объяснил задачу, но он сразу проник в суть дела.
Можно в 1 проход с помощью SQL_CALC_FOUND_ROWS , тем самым я делаю запрос на общее число строк, без учета лимита, но с учетом условий и одновременно лимитирую показ строк.
Microplankton вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запрос из таблиц один ко многим arvitaly SQL, базы данных 3 22.02.2013 11:27
Curl. Один запрос, а URL разные ArtemKrass PHP 0 19.06.2012 21:26
Два count'а за один запрос Dexes SQL, базы данных 1 14.03.2012 13:26
mysql запрос. INNER JOIN limit artemhp SQL, базы данных 2 11.11.2010 17:52
Запрос в БД и вывод результата Nice42ru Помощь студентам 10 05.11.2009 09:47