2010-11-16 3 views
2

В настоящее время на моем сайте выполняется запрос, который ищет все строки, которые не имеют определенного атрибута. Поэтому, хотя у меня есть порядковые номера для номеров строк, фактический результат будет иметь промежутки в первичных ключах. Оказывается, это трудно объяснить, поэтому я попытаюсь добавить код!MySQL - подсчет количества строк ПОСЛЕ запроса

Вот где часть моего заявления, остальное не имеет значения:

...WHERE 
     thought_deleted = 0 
    AND 
     thought_ID <= (SELECT MAX(thought_ID) FROM rmt_thoughts ORDER BY thought_ID) - $start 
    ORDER BY 
     thought_date_created DESC 
    LIMIT $number 

$ номер и $ ПУСКА значение, передаваемое в запрос с помощью PHP. Часть, которую я хочу изменить, это часть AND. Вместо того, чтобы искать значения ide_ID, которые меньше определенного ID, я хочу выбрать так, как если бы каждая строка think_deleted = 0 имела последовательный идентификатор. Я надеюсь в этом есть смысл!

Я предполагаю, что мне нужно либо a) сделать какой-то псевдоним, который подсчитывает количество строк, и сортировать по ним, либо b) просто делать какой-то лимит, который только смотрит на значения, которые я хочу. В любом случае, я давно искал Google, я довольно измучен и застрял. Кто-нибудь видел что-то подобное раньше?

Спасибо, ребята :)

зайчик *

ответ

2

Видимо, вы хотите сделать какой-то пагинацией. Просто укажите смещение, используя LIMIT <offset>, <limit>, а не только LIMIT <limit>.

Например, для извлечения строк 1..5 вы используете LIMIT 0, 5, а для следующих 5 строк вы используете LIMIT 5, 5.

В вашем случае вы, вероятно, захотите использовать LIMIT $start, $number, предполагая, что $ start основан на нуле.

+0

Это звучит точно, что я хочу. Я просто не мог найти Google для чего-то, что дало мне правильный результат, потому что я не был уверен, что случилось! Большое спасибо, я попробую! – Sparkles

+1

Рад, что я мог помочь. Не забудьте принять ответ, хотя - хорошее соотношение принимающих (желательно 100%, но если это возможно в некоторой степени зависит от ваших вопросов) заставит людей более вероятно ответить на ваши вопросы в будущем, поскольку они, вероятно, получат 15 репутации за принятый ответ. – ThiefMaster

+0

хахаха, это было так просто, это сработало! фантастично, я соглашусь на ответ, когда это позволит мне :) – Sparkles

Смежные вопросы