<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 半導體 閱讀(162) 評論(0)  編輯  收藏


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


    網站導航:
     
    主站蜘蛛池模板: 免费观看美女用震蛋喷水的视频 | 成人免费大片免费观看网站| 亚洲精品无码久久久久久久| 天天看免费高清影视| 亚洲精品视频免费 | 久久精品免费网站网| 久久久久亚洲av无码专区导航| 女人让男人免费桶爽30分钟| 一级毛片正片免费视频手机看| 亚洲综合小说久久另类区| 免费国产美女爽到喷出水来视频| 久久中文字幕免费视频| 精品亚洲av无码一区二区柚蜜| 亚洲中文字幕无码不卡电影| 成年美女黄网站色大免费视频| 中文字幕a∨在线乱码免费看| 久久久久久亚洲精品影院| 国产av无码专区亚洲av果冻传媒| 免费AA片少妇人AA片直播| 精品国产呦系列在线观看免费 | 亚洲日韩精品无码专区| 亚洲av无码精品网站| 国产一区二区三区免费看| 一区二区三区观看免费中文视频在线播放 | 午夜男人一级毛片免费| 午夜免费啪视频在线观看| 黄色毛片视频免费| 亚洲第一成人在线| 久久久影院亚洲精品| 亚洲国产精品不卡毛片a在线| 久久笫一福利免费导航| 免费视频成人手机在线观看网址| 无码天堂va亚洲va在线va| 亚洲一区二区三区无码国产| 亚洲国产a∨无码中文777| 亚洲国产成人久久综合野外| 毛片免费观看的视频在线| 30岁的女人韩剧免费观看| 中文字幕乱码免费看电影| 日韩一区二区三区免费播放| 亚洲AV无码一区二区乱子仑 |