Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






ORDER BY Основа, Блюдо;





Предложение OVER, с которым используется функция ROW_NUMBER, задает порядок нумерации строк. При этом используется дополнительное предложение ORDER BY, которое не имеет отношения к порядку вывода строк запроса. Если вы посмотрите на результат, то заметите, что порядок строк в результирующем наборе и порядок нумерации не совпадают:

Результат  
Номер Блюдо Основа
  Сметана Молоко
  Творог Молоко
  Мясо с гарниром Мясо
  Салат мясной Мясо
  Салат витаминный Овощи
  Салат летний Овощи
  Паштет из рыбы Рыба
  Салат рыбный Рыба

 

А если требуется пронумеровать блюда для каждой основы отдельно? Для этого нам потребуется еще одна конструкция в предложении OVER — PARTITION BY.

Конструкция PARTITION BY задает группы строк, для которых выполняется независимая нумерация. Группа определяется равенством значений в списке столбцов, перечисленных в этой конструкции, у строк, составляющих группу.

 

Пример 43.

Пронумеровать блюда в рамках каждой основы отдельно.

SELECT row_number() over(partition BYОснова ORDER BY Блюдо) as Номер, Блюдо, Основа

FROM Блюда

WHERE Вид < 2

ORDER BY Основа, Блюдо;

PARTITION BY Основа означает, что блюда с одной основой образуют группу, для которой и выполняется независимая нумерация. В результате получим:

Результат  
Номер Блюдо Основа
  Сметана Молоко
  Творог Молоко
  Мясо с гарниром Мясо
  Салат мясной Мясо
  Салат витаминный Овощи
  Салат летний Овощи
  Паштет из рыбы Рыба
  Салат рыбный Рыба

 

Отсутствие конструкции PARTITION BY, как это было в первом примере, означает, что все строки результирующего набора образуют одну единственную группу.

 







Date: 2015-09-18; view: 347; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.005 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию