Проект «SnakeProject» Михаила Козлова

Навигация

⇒ SQL\T-SQL ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

FreeBSD and Nix

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото


T-SQL 2012: Оконные функции


--Как и групповые функции, позволяют производить вычисления

--COUNT(ip) OVER(PARTITION BY mask) - считает количество записей из столбца ip для значений из столбца mask
--COUNT(ip) OVER() - считает общее количество записей из столбца ip

SELECT DISTINCT cisco, mask,
        COUNT(ip) OVER(PARTITION BY mask) AS [TotalIP`sInMask],
        COUNT(ip) OVER() AS [TotalIP`s]
FROM billing.dbo.station

--ROW_NUMBER()    - присваивает уникальный идентификатор строки
--RANK()        - присваивает совпадающим значениям одинаковые номера от начала строки первого совпадения
--DENSE_RANK()    - присваивает совпадающим значениям одинаковые номера по порядку

SELECT cisco, mask,
        ROW_NUMBER() OVER(ORDER BY mask) AS [ROW_NUMBER],
        RANK() OVER(ORDER BY mask) AS [RANK],
        DENSE_RANK() OVER(ORDER BY mask) AS [DENSE_RANK]
FROM billing.dbo.station
GROUP BY cisco, mask

--LAG            - возвращает предыдущее значение для указанного столбца, сгруппированого по некому столбцу
--LEAD            - возвращает следующее значение для указанного столбца, сгруппированого по некому столбцу
--FIRST_VALUE    - возвращает первое значение для указанного столбца, сгруппированого по некому столбцу
--LAST_VALUE    - возвращает последнее значение для указанного столбца, сгруппированого по некому столбцу

SELECT cisco, mask,
    LAG(mask) OVER(ORDER BY cisco) AS [prev],
    LEAD(mask) OVER(ORDER BY cisco) AS [next],
    FIRST_VALUE(mask) OVER(ORDER BY cisco) AS [first],
    LAST_VALUE(mask) OVER(ORDER BY cisco) AS [last]
FROM billing.dbo.station
GROUP BY cisco, mask


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты для обмена ссылками между сайтами Видео к статьям на Youtube Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и Linux Код обмена баннерами
Мои друзья: www.info-x.org - Информационный ресурс о ОС FreeBSD XaXaTyXa.ru Новости Ubuntu Linux Сообщество сисадминов Личный сайт skeletora Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.