zoukankan      html  css  js  c++  java
  • 获取某命名规则下一系列表的总条数

    SQLServer(T-SQL):
    --获取某命名规则下的
    --
    场景:有1000个后缀逐渐递增的表(如果是上万了也可做相应的改动实现),获取这些表总的数据条数
    --
    表的形式:tb_user000,tb_user001,tb_user010,tb_user011,tb_user999
    --命名规则:000,001...009,010,011..999
    declare @i int --表开始后缀
    declare @str nvarchar(1000) --执行语句 
    declare @tab varchar(100) --表前缀
    declare @tab_suffix varchar(10) --表后缀
    declare @max int --表个数
    set @i=0
    set @tab='tb_user'
    set @max=1000
    if exists(select * from tempdb.dbo.sysobjects where id=OBJECT_ID('tempdb..#t1') and xtype='U')
       
    drop table #t1
    create table #t1(id int identity(1,1),num int,tab varchar(100))
    while @i<@max
    begin
       
    if @i>=0 and @i<10
         
    set @tab_suffix='00'
       
    else if @i>9 and @i<100
         
    set @tab_suffix='0' 
       
    else if @i>99 and @i<1000
         
    set @tab_suffix=''
       
    set @str=N' insert into #t1(num,tab) select Total,'''+@tab+@tab_suffix+cast(@i as varchar)+''' from 
       (select Total = count(*) from
    '+@tab+@tab_suffix+cast(@i as varchar)+') a'
       
    print @str;
       
    exec sp_executesql @str;   
       
    set @i=@i+1;
    end
    select num,tab,sum_num from (
    select sum(num) as sum_num from #t1) b,#t1



    显示结果如下:
  • 相关阅读:
    如何处理数集据不平衡的问题
    xgb&lgb&ctb区别
    LDA与gibbs采样
    撸了一个 Feign 增强包
    行为驱动模型-Behave
    MySQL 主从复制常见错误答疑
    POJ 1191
    POJ 1141
    HDU 1754
    POJ 3468
  • 原文地址:https://www.cnblogs.com/tenghoo/p/1238808.html
Copyright © 2011-2022 走看看