MySQL MariaDB

Резултатите от MySQL Limit, върнати с LIMIT

Резултатите от MySQL Limit, върнати с LIMIT
В крайна сметка стигате до етапа, когато обемът на данните значително се увеличава, когато започнем да се справяме със СУБД като MySQL. За нас е трудно да управляваме и използваме. MySQL има вградени възможности, които го правят лесен за работа. В MySQL клаузата LIMIT се използва за намаляване на броя на редовете в целия набор от резултати с помощта на израза SELECT. Ще открием как да използваме клаузата MySQL LIMIT в това ръководство, за да ограничим броя на редовете, които една заявка връща.

ОГРАНИЧЕНИЕ Синтаксис:

>> ИЗБЕРЕТЕ израз от таблица ГРАНИЧЕН офсет, редове;

Ето обяснението на заявката LIMIT:

Отворете обвивката на командния ред на MySQL и въведете паролата. Натиснете Enter, за да продължите.

Да предположим, че имате таблица, наречена „учител“ във вашата база данни MySQL, както е показано по-долу. Ако искате да извлечете всички записи или редове от тази таблица без ограничение, ще го направите, като използвате простата заявка SELECT, както следва:

>> ИЗБЕРЕТЕ * ОТ данни.учител;

Пример 01: ГРАНИЦА само с номер на ред:

Ако потребителят иска да извлече някои записи, докато ограничава броя на редовете, той / тя може да го направи, като използва простата клауза LIMIT в оператора SELECT. Нека опитаме пример, докато използваме горната таблица. Да предположим, че искате да покажете само 6 реда от горната таблица, докато показвате редовете, следващи низходящия ред на колона TeachName. Опитайте следната заявка:

>> ИЗБЕРЕТЕ * ОТ данни.учител ПОРЪЧКА ПО TeachName DESC LIMIT 6;

Пример 02: ГРАНИЦА С ОФСЕТ и номер на ред:

Нека опитаме същата таблица, за да дефинираме Offset заедно с номера на реда. Да предположим, че трябва да вземете само 6 записа от таблицата, докато върнатият запис трябва да започва от 6-тети ред на таблица. Опитайте следващата заявка:

>> ИЗБЕРЕТЕ * ОТ данни.учител DESC LIMIT 6, 6;

Пример 03: ОГРАНИЧЕНИЕ с клауза WHERE:

Да приемем, че таблицата „същото“ се намира в базата данни MySQL. Вземете цялата таблица, докато я сортирате във възходящ ред на колона 'id', като използвате командата SELECT заедно с ORDER BY, както следва:

>> ИЗБЕРЕТЕ * ОТ данни.същата ПОРЪЧКА ПО id ASC;

Опитвайки заявената заявка, ще имаме произволни три записа на възраст между 12 и 34 години от произволно произволно местоположение на таблицата. Докато в горната таблица имаме повече от 6 записа на възрастова група между 12 и 34 години.

>> ИЗБЕРЕТЕ * ОТ данни.същото WHERE възраст> '12' И възраст < '34' LIMIT 3;

Когато използваме клаузата ORDER BY в заявката, без да посочваме типа на поръчката, тя автоматично ще извлече записа във възходящ ред, както е показано по-долу.

>> ИЗБЕРЕТЕ * ОТ данни.същото WHERE възраст> '12' И възраст < '34' ORDER BY age LIMIT 3;

За да извлечете ограничен запис в друг ред на сортиране, трябва да определите реда за сортиране. Тъй като извличаме 8-редови данни, използвайки низходящ ред на колона „възраст“.

>> ИЗБЕРЕТЕ * ОТ данни.същото WHERE възраст> '12' И възраст < '34' ORDER BY age DESC LIMIT 8;

Нека вземем само 2 реда, където името на домашния любимец е „куче“. При изпълнението имаме само 1 резултат, тъй като знакът '=' търси точния модел и имаме само 1 запис на неговия модел.

>> ИЗБЕРЕТЕ * ОТ данни.същото КЪДЕ домашен любимец = 'куче' ПОРЪЧКА ПО id ГРАНИЦА 2;

Пример 04: ГРАНИЦА с клауза LIKE и това са заместващи символи:

Потърсихме модела „куче“ и получихме само 1 резултат. Докато имаме повече от 1 запис на „куче“ в таблицата. Сега ще извлечем тези записи, като използваме клаузата LIKE заедно с клаузата LIMIT. За да покажете единствените 5 записа в таблицата, където името на домашния любимец започва от 'd', опитайте заявката по-долу. Тъй като имаме само 2 записа за модел „куче“, затова имаме само 2.

>> ИЗБЕРЕТЕ * ОТ данни.същото КЪДЕ домашен любимец КАТО „d%“ ПОРЪЧКА ПО ID ГРАНИЦА 5;

Нека извлечем само 10 записа от таблицата, където домашният любимец трябва да има „r“ на всяко средно място на името му. Тъй като имаме кон, папагал и заек в домашните любимци, които имат името „r“ на тяхно име, затова имаме само 4 записа от тази заявка.

>> ИЗБЕРЕТЕ * ОТ данни.същото КЪДЕ домашен любимец КАТО „% r%“ ПОРЪЧКА ПО ID ГРАНИЦА 10;

За да получите 6 записа на таблицата, където името на домашния любимец трябва да има 't' в края, изпълнете заявената заявка в командния ред на SQL. Тук имаме 4 записа от тази заявка.

>> ИЗБЕРЕТЕ * ОТ данни.същото КЪДЕ домашен любимец КАТО „% t“ ПОРЪЧКА ПО ID ГРАНИЦА 6;

За да получите 8 записа на таблицата, където работата на човек трябва да има 'er' в края, изпълнете заявката по-долу в черупката. Тук имаме 6 записа от тази заявка.

>> ИЗБЕРЕТЕ * ОТ данни.същото КЪДЕ работа като „% er“ ПОРЪЧКА ПО ВЪЗРАСТ ASC ГРАНИЦА 8;

Нека променим клаузата WHERE заедно с израза LIKE в заявката SELECT. Да предположим, че искате да извлечете 6-редов запис от таблицата „същото“. Опитахте условие, за да извлечете единствените записи, където „fname“ трябва да има „a“ в последната от стойността си, а „lname“ трябва да има „a“ във всяко средно местоположение на стойността му. От друга страна, данните трябва да бъдат сортирани в низходящ ред на колоната „възраст“. За да получите тези 6 записа, изпълнете заявката по-долу в командния ред на SQL. Имаме 5 записа за това състояние и резултатът е показан по-долу.

>> ИЗБЕРЕТЕ * ОТ данни.същото КЪДЕ fname КАТО „% a“ И lname КАТО „% a%“ ПОРЪЧКА ПО ВЪЗРАСТ DESC ГРАНИЦА 5;

Заключение:

Надявам се, че сте напълно подготвени за темата LIMT, след като изпробвате почти всички примери за клаузата LIMIT, заедно с нейните членове, e.ж., Номер на отместването и реда.

Vulkan за потребители на Linux
С всяко ново поколение графични карти виждаме, че разработчиците на игри преместват границите на графичната вярност и се приближават една крачка до фо...
OpenTTD срещу Simutrans
Създаването на собствена транспортна симулация може да бъде забавно, релаксиращо и изключително примамливо. Ето защо трябва да сте сигурни, че изпробв...
Урок за OpenTTD
OpenTTD е една от най-популярните бизнес симулационни игри там. В тази игра трябва да създадете прекрасен транспортен бизнес. Въпреки това, ще започне...