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

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

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

    posts - 89,  comments - 98,  trackbacks - 0

    假設只有一個table,名為pages,有四個字段,id, url,title,body。里面儲存了很多網頁,網頁的url地址,title和網頁的內容,然后你用一個sql查詢將url匹配的排在最前,title匹配的其次,body匹配最后,沒有任何字段匹配的,不返回。

    就是上面這道面試題,讓我想了一個下午,在網上找資料,最后用下面方法實現

    SELECT *
    FROM page where url like '%baidu%' or title like '%baidu%' or like ''
    ORDER BY CHARINDEX('baidu', url) DESC, CHARINDEX('baidu', title) DESC,
    ????? CHARINDEX('baidu', body) DESC

    但我感覺這種方法并不是最簡單的,后來把這個方法發給面試的人,他給我了一種更簡單方法,只要用基本的Sql語句就可以實現。代碼如下


    select a.[id],a.mark from
    (
    select [page].[id],100 as mark from [page] where [page].[url] like '%baidu%'
    union
    select [page].[id],50 as mark from [page] where [page].[title] like '%baidu%'
    union
    select [page].[id],10 as mark from [page] where [page].[body] like '%baidu%'
    ) as a? order by mark desc

    用union 實現聯合查詢,在每個查詢語句中定義一個臨時變量mark 并給mark賦值,在最后的輸出時采用mark來排序,這樣實現真的好簡單。其實這都考驗我們對Sql的編成思想。

    posted on 2006-09-19 11:28 水煮三國 閱讀(538) 評論(0)  編輯  收藏 所屬分類: Sybase
    <2006年9月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    常用鏈接

    留言簿(4)

    隨筆分類(85)

    隨筆檔案(89)

    文章分類(14)

    文章檔案(42)

    收藏夾(37)

    java

    oracle

    Sybase

    搜索

    •  

    積分與排名

    • 積分 - 210807
    • 排名 - 266

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲色偷精品一区二区三区| 亚洲人成网www| 亚洲国产人成中文幕一级二级| 欧洲精品成人免费视频在线观看| 亚在线观看免费视频入口| 午夜成年女人毛片免费观看 | 亚洲中文字幕无码一去台湾| 亚洲国产另类久久久精品黑人| 夜夜春亚洲嫩草影院| 亚洲精品成a人在线观看| 日本亚洲高清乱码中文在线观看| 亚洲av中文无码字幕色不卡 | 久久精品国产大片免费观看| 麻豆国产人免费人成免费视频 | mm1313亚洲精品国产| 91亚洲自偷在线观看国产馆| caoporn成人免费公开| 国产黄在线播放免费观看| 亚洲第一页综合图片自拍| 狠狠综合久久综合88亚洲| 国产特黄一级一片免费| 日本特黄特黄刺激大片免费| 亚洲电影在线播放| 秋霞人成在线观看免费视频| 亚洲综合激情九月婷婷| 青草草在线视频永久免费| 亚洲国产日韩在线视频| 日韩一级片免费观看| 中国国语毛片免费观看视频| 免费一区二区三区四区五区| 亚洲色无码专区一区| 亚洲av午夜精品一区二区三区 | 日韩精品亚洲人成在线观看| 东北美女野外bbwbbw免费| 成人爱做日本视频免费| eeuss草民免费| 亚洲人成网站在线观看播放动漫| 久久国产精品萌白酱免费| 亚洲中文字幕精品久久| 伊人久久综在合线亚洲91| 97性无码区免费|