Извеждане на предпоследните 10 резултата...

AceXe

Registered
Предполагам, че е нещо просто. Искам да се извеждат 40 резултата в заявка без последните 10. Сортирането е по ID. Със събиране и изваждане на числа на ID, не е удачен вариант, защото не са поредни. Те са нещо примерно като 310, 311, 312, 315, 317, 318 и т.н.
 
macmen каза:
SELECT * FROM table where id ODER BY id DESC LIMIT 30

Аз говоря да извежда 40 резултата, броейки ги не от последния резултат, а от 10 преди него.
 
NewGuy каза:
SELECT pole, pole1
FROM ( SELECT pole, pole1
FROM table
ORDER BY id DESC
LIMIT 10 ) AS X
ORDER BY id ASC
LIMIT 30

Така ми извежда последните 10 резултата. На мен ми трябват предпоследните 40 примерно резултата. Цифрата не е от значение, а принципа да се зададе да прескача определен брой резултати при извеждане.
 
SELECT * FROM таблица ORDER BY поле DESC/ASC LIMIT 10,40

На място на сините си заместваш твоите данни, а на мястото на червеното избираш дали да ги подрежда низходящо или възходящо.

Последното LIMIT 10,40 ти оказва да прескочи последните 10 резултата и да покаже 40 след това.
 
Не ме разбра.

SELECT *
FROM ( SELECT *
FROM users
ORDER BY id DESC
LIMIT 3 ) AS X
ORDER BY id ASC
LIMIT 2

Замени таблицата с твоята
Заменяш с колко записа преди последния да покаже (в случея 10 за теб)
Колко записа да показва

В горния пример имам 3 потребителя показва ми 1 и 2. :?:
 
adrian каза:
SELECT * FROM таблица ORDER BY поле DESC/ASC LIMIT 10,40

На място на сините си заместваш твоите данни, а на мястото на червеното избираш дали да ги подрежда низходящо или възходящо.

Последното LIMIT 10,40 ти оказва да прескочи последните 10 резултата и да покаже 40 след това.

И според мен това което му е предложил adrian трябва да му свърши работа.
 

Back
Горе