Образовательный проект «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


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

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

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

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

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





Поддержать автора и проект