MySQL - last N
4 отговора
217 прегледа
MySQL - last N
Може да е много тъп и елементарен въпорса, но не мога да се сетя в момента как става.
Как да взема последните N елемента от една заявка?
Сайт за нова българската литература [линк]
Вече ДВЕ години
Как да взема последните N елемента от една заявка?
Сайт за нова българската литература [линк]
Вече ДВЕ години
Re: MySQL - last N
Какъв сървър е това?
Иначе, ако имаш ORDER BY в заявката, можеш да направиш примерно така:
... ORDER BY xxx DESC LIMIT n (MySQL)
или
SELECT TOP n ... ORDER BY xxx DESC (MS-SQL)
Иначе, ако имаш ORDER BY в заявката, можеш да направиш примерно така:
... ORDER BY xxx DESC LIMIT n (MySQL)
или
SELECT TOP n ... ORDER BY xxx DESC (MS-SQL)
Re: MySQL - last N
Бе то пише MySQL в заглавието, но това, което предлагаш не е решение -
не искам да ми се обръща редът на подреждане, искам да отрежа само най-крайните.
Аз го направих на два пъти - първата заявка пресмята броя, а другата пуска лимит LAst-N, LAST
ако имаше вложени заявки, щеше да е лесно
Сайт за нова българската литература [линк]
Вече ДВЕ години
не искам да ми се обръща редът на подреждане, искам да отрежа само най-крайните.
Аз го направих на два пъти - първата заявка пресмята броя, а другата пуска лимит LAst-N, LAST
ако имаше вложени заявки, щеше да е лесно
Сайт за нова българската литература [линк]
Вече ДВЕ години
Re: MySQL - last N
>>... то пише в заглавието...
Да, но не е достатъчно - някой трябва и да чете :-\\\ (а по-лошото е, че вероятно съм го прочел, ама съм го запомнил за около 2 секунди...)
>>не искам да ми се обръща редът на подреждане, искам да отрежа само най-крайните
Именно де - режеш само най-крайните (които при "обратна" подредба са първи) и, обхождайки ги в обратен ред, получаваш пак "права" подредба. Но, разбира се, това няма да стане, ако ползваш някакъв unidirectional dataset :-\\
btw, няма ли начин да дадеш още малко инфо за API-то, което ползваш (PHP, C++, Delphi, etc.), за заявката и за начина на употреба на получения резултат, че така става малко наизуст :-)
Да, но не е достатъчно - някой трябва и да чете :-\\\ (а по-лошото е, че вероятно съм го прочел, ама съм го запомнил за около 2 секунди...)
>>не искам да ми се обръща редът на подреждане, искам да отрежа само най-крайните
Именно де - режеш само най-крайните (които при "обратна" подредба са първи) и, обхождайки ги в обратен ред, получаваш пак "права" подредба. Но, разбира се, това няма да стане, ако ползваш някакъв unidirectional dataset :-\\
btw, няма ли начин да дадеш още малко инфо за API-то, което ползваш (PHP, C++, Delphi, etc.), за заявката и за начина на употреба на получения резултат, че така става малко наизуст :-)
Re: MySQL - last N
По принцип може да използваш -1 като втори параметър, но това предполага да занеш предварително колко реда ще върне заявката
... LIMIT 10, -1;
Това ще ти върне "всички редове от 10-тия нататък"
Та ако знаеш, че редовете са 150 пък искаш последните 5
... LIMIT 145, -1;
salle.online.bg/sig
... LIMIT 10, -1;
Това ще ти върне "всички редове от 10-тия нататък"
Та ако знаеш, че редовете са 150 пък искаш последните 5
... LIMIT 145, -1;
salle.online.bg/sig