2015-09-28 2 views
0

Предположим, у меня есть 100 записей в моей таблице.mysql получить количество элементов после смещения

Мне нужно построить запрос, который возвращает мне, сколько запросов у меня есть после смещения. Что-то вроде select count(*) from Table offset 30, и этот запрос в описанном случае должен возвращать 70

Как я мог это сделать в mysql?

ответ

3

Вы просто хотите подзапрос?

select count(*) 
from (select t.* 
     from table t 
     offset 30 
    ) t; 

Или простая арифметика:

select greatest(count(*) - 30, 0) 
from table t; 
+0

Это невозможно осуществить это без подзапроса? '-' не будет работать, потому что в некоторых случаях вы получите отрицательные числа –

+0

@silent_coder. , , Это легко фиксируется (я просто сделал это). –

+0

Да, это правильно. Спасибо за ваш ответ (кстати, я думаю, что это должно быть 'limit' внутри подзапроса) –