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))

  • 相关阅读:
    JavaScript 基础,登录前端验证
    CSS实例:图片导航块
    导航,头部,CSS基础
    web基础,用html元素制作web页面
    web基础
    timestamp与timedelta,管理信息系统概念与基础
    datetime处理日期和时间
    Linux操作系统编程 实验五 块设备实验
    Linux操作系统编程 实验四 字符设备实验
    Linux操作系统编程 实验三 模块编程实验
  • 原文地址:https://www.cnblogs.com/accumulater/p/6147008.html
Copyright © 2011-2022 走看看