zoukankan      html  css  js  c++  java
  • 数学中的组合算法(sql)

    概念:  
      排列:   P(n,r)     从n个中选r个进行排列(与顺序有关)  
      组合:   C(n,r)     从n个中选r个进行组合(与顺序无关)    
    create   procedure   sp_test(@n   int,@r   int)  
      as  
      begin  
              if   isnull(@n,0)<isnull(@r,0)  
                      return    
       
              set   rowcount   @n  
              select   identity(int,1,1)   as   num   into   #   from   sysobjects   a,syscolumns   b  
              set   rowcount   0  
               
              declare   @sql   varchar(8000),@ord   varchar(8000),@i   int  
              set   @sql='select   *   from   #   [1]'  
              set   @ord='[1].num'  
              set   @i=1  
              while   @i<@r  
              begin  
                      set   @i=@i+1  
                      set   @sql=@sql+'   inner   join   #   ['+rtrim(@i)+']   on   ['+rtrim(@i)+'].num>['+rtrim(@i-1)+'].num'  
                      set   @ord=@ord+',['+rtrim(@i)+'].num'  
              end  
       
              set   @sql=@sql+'   order   by   '+@ord  
       
              print   @sql  
               
              exec(@sql)  
      end  
      go  
       
      exec   sp_test   5,1  
      exec   sp_test   5,2  
      exec   sp_test   5,3  
      go  
       
      drop   procedure   sp_test  
      go
  • 相关阅读:
    wcf第3步之报文分析及原生调用
    IBatis 批量插入数据之SqlBulkCopy
    MVC前后端数据被编码
    log4Net控制台输出
    这可能是由于服务终结点绑定未使用 HTTP 协议造成的 .这还可能是由于服务器中止了 HTTP 请求上下文
    IBatis存储过程返回值
    路由学习2
    restClient访问SSL
    hibernate多对多关系配置
    hibernate 一对多操作(级联操作)
  • 原文地址:https://www.cnblogs.com/luluping/p/1532266.html
Copyright © 2011-2022 走看看