ПредишенСледващото

В тази статия ще ви кажа как да се изброят редове резултат заявка, върнати от MySQL.

ROW_NUMBER () функция - функция на класиране, връща броя последователно линия, като се започне с 1 за първия ред. Номерът на реда често е необходимо при генерирането на отчети. Тази функция се изпълнява в MS SQL и Oracle в. В MySQL, няма такава функция, но това не е трудно да се реализира в резултат на глобални променливи.

номериране на редове

За да се изброят низ, трябва да декларира променлива заявка. Ние показваме този подход с помощта на проста таблица, съдържаща списък на работниците и служителите (служители). Следната заявка избира служителите от масата 5, давайки им номера, с цел, като се започне с 1:

Съревнование ROW_NUMBER () функция в MySQL, MySQL

В по-горе, ние изискваме:

  • ROW_NUMBER променлива определена и инициализира си нулева стойност;
  • Стойността му се увеличава с по 1 за всяка итерация на искането.

Друга техника, която дава възможност да се постигне същия резултат, е да се създаде глобална променлива вместо оглед и на напречното сечение присъединяването на тези две таблици. Един пример на такава заявка:

Имайте предвид, че произлиза маса трябва да е псевдоним на спазването на правилата на синтаксиса.

Възобновяване на номериране Group

Как да определите отделна номерация за всеки ред група, обединени израз ORDER BY или GROUP BY. Например, за да се симулира следната заявка:

Съревнование ROW_NUMBER () функция в MySQL, MySQL

Ние трябва да създадем списъка за плащане, в която всяко плащане ще съответства на определен брой. За да се получи желаният резултат, ние се нуждаем две променливи: едната - с номера на поръчката линия, а от друга - да се съхраняват клиентски идентификационен номер от предишния ред, за да го сравни с ток. Нашата заявка ще изглежда така:

Ние използвахме отчета за CASE за оценка на състоянието: ако броят на клиентите си остава същата, ние увеличаваме броя на линията е 1, в противен случай ние се номера на реда, за да 1. Резултатът ще бъде същата като в довела картинката по-горе.

Сега ще постигнете същия резултат с помощта на получена маса техника и кръстосана заявка:

Така че, ние сме се научили да подражават на номерацията на заявка низове в MySQL.

Превод на статията «MySQL ROW_NUMBER емулация» е изготвен от екип от приятелски Уеб дизайн проект от А до Я.

Подкрепете проекта - споделете линка, благодаря!