<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JBOSS 點滴

    豐豐的博客

    sql server2005新特性

    sql server2005新特性
    先來個例子

    SELECT 
        
    YEAR(BirthDate),
        ROW_NUMBER() 
    OVER(ORDER BY YEAR(BirthDate)) AS 'RowNumber',/* 按年產生一個唯一的序號 */
        ROW_NUMBER() 
    OVER(PARTITION BY YEAR(BirthDate) ORDER BY BirthDate) AS RowNumberPartition, /* 每年產生一個唯一的序列 */
        RANK() 
    OVER(ORDER BY YEAR(BirthDate)) AS 'Rank'/* 產生一個非緊密排名 */
        DENSE_RANK() 
    OVER(ORDER BY YEAR(BirthDate)) AS 'Dense_Rank'/* 產生一個緊密排名 */
        NTILE(
    10OVER(ORDER BY BirthDate DESCAS 'ntile' /* 將結果分成10個組 */
    FROM HumanResources.Employee
    ORDER BY BirthDate
    看看新的排序函數如何解決SQL server 2000中不方便解決的問題
    --按BirthDate排序,取第10條到20條的數據 (這一定是最激動人心的新特性,哈哈)
    SELECT BirthDate FROM 
    (
        
    SELECT
            ROW_NUMBER() 
    OVER(ORDER BY BirthDate) AS a,BirthDate
        
    FROM HumanResources.Employee
    AS a
    WHERE a BETWEEN 10 AND 20

    --將數據分成十份,取第三份
    SELECT
        BirthDate
    FROM
    (
    SELECT 
        NTILE(
    10OVER(ORDER BY BirthDate DESCAS a,BirthDate
    FROM HumanResources.Employee
    AS a
    WHERE a = 3
    再來看看如何用新的排序函數解決以前在SQL server 2000中的問題
    -- 出生的員工最多的一年出生多少員工(有點)
    /*
     SQL server 2000 */
    SELECT MAX(a)
    FROM
    (
    SELECT COUNT(EmployeeID) AS a FROM HumanResources.Employee GROUP BY YEAR(BirthDate)
    AS a

    /* SQL server 2005  */
    SELECT MAX(a)
    FROM
    (
    SELECT 
        ROW_NUMBER() 
    OVER(PARTITION BY YEAR(BirthDate) ORDER BY BirthDate) AS a
    FROM HumanResources.Employee
    AS a

    -- 出生日期涵蓋了多少年
    /*
     SQL server 2000  */
    SELECT COUNT(DISTINCT YEAR(BirthDate)) FROM HumanResources.Employee

    /* SQL server 2005 */
    SELECT MAX(a)
    FROM
    (
    SELECT 
        DENSE_RANK() 
    OVER(ORDER BY YEAR(BirthDate)) AS a
    FROM HumanResources.Employee
    AS a

    -- 顯示前10%的數據
    /*
     SQL server 2000  */
    SELECT TOP 10 Percent BirthDate FROM HumanResources.Employee

    /* SQL server 2005  */
    SELECT
        BirthDate
    FROM
    (
    SELECT 
        NTILE(
    10OVER(ORDER BY BirthDate DESCAS a,BirthDate
    FROM HumanResources.Employee
    AS a
    WHERE a = 1

    posted on 2007-04-11 11:23 半導體 閱讀(161) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 久久久久久免费视频| 91在线老王精品免费播放| 国产男女猛烈无遮挡免费视频网站| 亚洲无线一二三四区| 国产92成人精品视频免费| 亚洲成人免费电影| 97在线观免费视频观看| 亚洲中文字幕AV每天更新| 国产免费啪嗒啪嗒视频看看| 亚洲Av无码国产一区二区| 亚洲av无码国产精品色在线看不卡| 色噜噜狠狠色综合免费视频| 亚洲第一永久AV网站久久精品男人的天堂AV| 国产亚洲精品美女2020久久| 亚洲精品国产精品国自产观看 | 在线观看免费a∨网站| 日韩国产欧美亚洲v片| 久久青青草原亚洲av无码| 免费av一区二区三区| 亚洲精品动漫在线| 成全视频免费高清| 一级做a爱过程免费视| 亚洲另类激情综合偷自拍| 欧美a级在线现免费观看| 黄网站色视频免费看无下截| 亚洲精品无码久久久久| 午夜性色一区二区三区免费不卡视频| 亚洲熟妇AV一区二区三区浪潮| 亚洲AV无码乱码在线观看性色扶| a级毛片在线免费| 自拍日韩亚洲一区在线| 亚洲综合在线另类色区奇米| 国产成人精品免费视频大| 黄色免费在线观看网址| 亚洲美女色在线欧洲美女| 日本免费人成黄页在线观看视频| aa午夜免费剧场| 亚洲人成高清在线播放| av在线亚洲欧洲日产一区二区| 91麻豆国产免费观看| 成在线人直播免费视频|