zoukankan      html  css  js  c++  java
  • 表中记录查询排序(设置排序规则)

    --先创建一个表 
    create table ai( 
    id int not null, 
    no varchar(10) not null 

    go 

    --往表中插入数据 
    insert into ai 
     select 105,'2' 
     union all 
     select 105,'1' 
     union all 
     select 103,'1' 
     union all 
     select 105,'4' 
    go 

    --查询效果如下: 
    select * from ai 
    go 
    id          no         
    ----------- ---------- 
    105         2 
    105         1 
    103         1 
    105         4 


    i. 
    --要求的查询结果如下 
    --即要求no列的数据按'4','1','2'排列 
    id          no         
    ----------- ---------- 
    105         4 
    105         1 
    103         1 
    105         2



    --解决方案1 
    --利用函数CHARINDEX 
    select * from ai 
     order by charindex(no,'4,1,2') 

    --解决方案2 
    --利用函数case 
    select * from ai 
     order by case when no='4' then 1 
            when no='1' then 2 
                          when no='2' then 3 
                     end 

    --解决方案3 
    --利用UNION 运算符 
    select * from ai 
     where no='4' 
    union all 
    select * from ai 
     where no='1' 
    union all 
    select * from ai 
     where no='2' 

    ii. 
    --查询要求指定no='4'排第一行,其他的行随机排序 
    id          no         
    ----------- ---------- 
    105         4 
    105         2 
    105         1 
    103         1 

    --解决方案 
    select * from ai 
     order by case when no='4' then 1 
       else 1+rand() 
      end 

    iii. 
    --查询要求所有行随机排序

    --解决方案 
    select * from ai 
     order by newid() 


    iiii 
    --有一表ab有列i,其中数据如下: 
    i varchar(10) 
    a1 
    a10 
    a101 
    a5 
    p4 
    p41 
    p5 


    --现在要求列i中数据先按字母排序,再按数字排序 
    --效果如下: 
    a1 
    a5 
    a10 
    a101 
    p4 
    p5 
    p41 

    --解决方案 
    select * from ab 
     order by left(i,1),convert(int,substring(i,2,8000))

  • 相关阅读:
    浏览器的reflow和repaint
    javascript正则表达式中参数g的作用
    InkCanvas 自由虚线笔画
    WPF 圆轮菜单的实现
    WPF实现化学式上下标
    install and use zookeeper C client API
    install and use boost::thread
    explicit instantiations in template class/function
    The science of programming
    how does vector work?
  • 原文地址:https://www.cnblogs.com/accumulater/p/6147008.html
Copyright © 2011-2022 走看看